我有一个BroadcastReciever名称NetworkReciver.java,它在Internet连接或断开连接时执行.它运作良好.
但是当应用程序从最近的应用程序关闭时,NetworkReciver.java不会在One Plus 6手机中执行,而它在三星手机中正常工作.
我不明白为什么One Plus Device中的行为有所不同
我的守则
表现
<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");
}
}
问题:
当应用程序从One Plus设备中的最近应用程序关闭时,NetworkReciever不会执行.
解决方法:
从Android N开始,系统不会将CONNECTIVITY_ACTION广播发送到针对N的应用程序的清单接收器.
通过Context.registerReceiver()注册的显式BroadcastReceivers继续接收这些广播.
解决方案:见ConnectivityManager.CONNECTIVITY_ACTION deprecated
标签:android,broadcastreceiver 来源: https://codeday.me/bug/20190724/1521299.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。