安卓 7.0 及以上版本上的"android.net.conn.CONNECTIVITY_CHANGE"对应的操作是什么?



我使用广播接收器来检测wifi连接。 它成功地适用于安卓萝莉波普。 但是当我尝试使用 Pie(android 9( 时,它不起作用。我在 AndroidManifest 中注册了此广播.xml如下所示。

<receiver android:name=".ExampleBroadcast">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>

示例广播是我的类,它扩展了广播接收器。 它的工作原理如下。

package com.example.myapplication;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.widget.Toast;
public class ExampleBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//required task
}
}

上面的代码适用于安卓 5,不支持安卓派。我想知道正确的注册标准是什么,以及 android 7 中上述android.net.conn.CONNECTIVITY_CHANGE的兼容操作是什么。

我知道在最新版本的Android中,许多与能耗和进程间通信相关的策略都发生了变化;广播接收器也发生了变化。

如果您将解决方案基于像"如何检测CONNECTIVITY_CHANGE"这样的更综合的答案,而不是基于我新写的答案,我发现对您更有用。

如果链接的答案对您没有用,我建议您在Google上使用诸如"android pie连接更改广播接收器">之类的关键字进行快速搜索,以找到适合您特定问题的最佳答案。

相关内容

最新更新