Android N无法发送android.net.conn.CONNECTIVITY_CHANGE广播? [英] Android N not sending android.net.conn.CONNECTIVITY_CHANGE broadcast?

查看:709
本文介绍了Android N无法发送android.net.conn.CONNECTIVITY_CHANGE广播?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在沙箱Android N应用程序中定义了一个接收器:

I have defined a receiver in a sandbox Android N application:

<receiver
    android:exported="true"
    android:name="com.sandboxapplication.NetworkReceiver">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

这很简单:

public class NetworkReceiver extends BroadcastReceiver {
    private static final String TAG = NetworkReceiver.class.getName();
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "Received Network Change event.");
    }
}

如果在我的build.gradle文件中我的targetSdkVersion为23,则此接收器工作正常.但是,如果将targetSdkVersion设置为24,则接收器将永不接收任何东西.实际上,如果我在接收器中放置调试断点,Android Studio会直观地表明该类甚至从未加载到内存中.

This receiver is working fine if in my build.gradle file my targetSdkVersion is 23. However, if I set my targetSdkVersion to 24, the receiver never receives anything. In fact if I place a debug break point in my receiver Android Studio gives me the visual indication that it looks like the class is never even loaded into memory.

我错过了Android N文档中非常基本的内容吗?是否有检测连接变化事件的新方法?

Did I miss something very basic in the Android N documentation? Is there a new way to detect connectivity change events?

推荐答案

定位到Android N (Nougat)的应用程序不会收到CONNECTIVITY_ACTION广播,即使它们具有清单项也可以请求这些事件的通知.如果正在运行的应用程序请求使用BroadcastReceiver进行通知,则仍可以在其主线程上监听CONNECTIVITY_CHANGE.

Apps targeting Android N (Nougat) do not receive CONNECTIVITY_ACTION broadcasts, even if they have manifest entries to request notification of these events. Apps that are running can still listen for CONNECTIVITY_CHANGE on their main thread if they request notification with a BroadcastReceiver.

查看Android N (Nougat)中的更改.请参考以下链接. Android N行为更改

To see what changed in Android N (Nougat). Please refer below link. Android N Behaviour Changes

这篇关于Android N无法发送android.net.conn.CONNECTIVITY_CHANGE广播?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆