首页 > 解决方案 > 网络更改广播接收器不会在一加手机中执行

问题描述

我有一个在 Internet 连接或断开时执行的BroadcastReciever名称。NetworkReciver.java它运行良好。

但是,当应用程序从最近的应用程序中关闭时,NetworkReciver.java它不会在一加 6 手机中执行,而它在三星手机中正常工作。

我不明白为什么 One Plus 设备中的行为不同

我的代码:

显现

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


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

NetworkReciever.java:

  public class NetworkReciever extends BroadcastReceiver 
  {

       @Override
     public void onReceive(Context context, Intent intent)
     {
            Log.i("TAG", "Network REceiver Executed");
     }
}

问题:

从一加设备中最近的应用程序关闭应用程序时,NetworkReciever 不会执行。

标签: androidbroadcastreceiver

解决方案


从 Android N 开始,系统不会向CONNECTIVITY_ACTION面向 N+ 的应用程序的清单接收器发送广播。

通过显式BroadcastReceivers注册Context.registerReceiver()继续接收这些广播。

解决方案:请参阅ConnectivityManager.CONNECTIVITY_ACTION 已弃用


推荐阅读