【问题标题】:what is the corresponding action for the "android.net.conn.CONNECTIVITY_CHANGE" on Android 7.0 and above?Android 7.0 及更高版本上的“android.net.conn.CONNECTIVITY_CHANGE”对应的操作是什么?
【发布时间】:2019-12-09 10:00:15
【问题描述】:

我使用广播接收器来检测 wifi 连接。它成功地适用于 android Lolipop。但是当我尝试使用 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
    }
}

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

【问题讨论】:

标签: android broadcastreceiver android-manifest android-wifi


【解决方案1】:

我知道在 Android 的最新版本中,很多与能源消耗和进程间通信相关的政策已经改变;广播接收器也已更改。

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

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

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2015-05-10
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多