在我的Android上,当区域设置发生变化时,我试图调用一个JobIntentService来防止ANR,但是在调用BroadcastReceiver之前,它就会超时(no)。
误差
E ActivityManager:原因:意图广播{ act=android.intent.action.LOCALE_CHANGED flg=0x11200010 cmp=com.company.locale.LocaleChangeReceiver }已通过系统广播超时。
AndroidManifest.xml
<!-- Listen to locale change -->
<receiver android:name="com.company.locale.LocaleChangeReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.LOCALE_CHANGED"/>
</intent-filter>
</receiver>发布于 2021-01-18 09:31:13
您不应该将android:exported设置为false。这将限制广播接收机的外部曝光。如果将其设置为false接收器,则仅供application-internal使用。
注意:这个属性并不是限制广播接收机外部曝光的唯一方法。还可以使用权限限制可以发送消息的外部实体(
)。
https://stackoverflow.com/questions/65771464
复制相似问题