android - 网络更改广播接收器不会在一加手机中执行
问题描述
我有一个在 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 不会执行。
解决方案
从 Android N 开始,系统不会向CONNECTIVITY_ACTION
面向 N+ 的应用程序的清单接收器发送广播。
通过显式BroadcastReceivers
注册Context.registerReceiver()
继续接收这些广播。
推荐阅读
- java - Jetty 9 + Spring Boot - 由于缺少 ServletWebServerFactory bean,无法启动 ServletWebServerApplicationContext
- css - 如何更改 Semantic UI React Dropdown 的边框颜色?
- java - 如何使用命令提示符在两个 jar 文件之间创建管道?
- c++ - 如何使用 boost/operators.hpp 自动生成 == 运算符?
- android - 我在加载插页式广告时不断收到此错误
- javascript - 如何声明对现有命名空间的引用,该命名空间可在运行时从 JavaScript 包中获得
- cordova - tel: 和 mailto: 链接仅在 iOS13 上不起作用
- javascript - 使用固定菜单调整锚点到其他页面
- python-3.x - 调试 any() 行时的 GeneratorExit 异常
- javascript - 将 NPM 项目转换为与浏览器兼容的 JavaScript 文件?