亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述APPWIDGET_UPDATE奥利奥兼容性相关的知识,希望能为你提供帮助。
【APPWIDGET_UPDATE奥利奥兼容性】在app清单中,我订阅了这个广播接收器
<
receiver
android:name=".widget.MyWidgetProvider"
android:label="@string/widget_label_big">
<
intent-filter>
<
action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
<
action android:name="com.mydomain.action.UPDATE_WIDGET"/>
<
/intent-filter>
<
meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_info"/>
<
/receiver>
APPWIDGET_UPDATE不在android隐式广播白名单https://developer.android.com/guide/components/broadcast-exceptions中
这是否符合android O?如果不是,我可以通过什么解决方案通知APPWIDGET_UPDATE?
答案这些操作不在白名单中,但它没有被弃用,小部件在api 26+上运行正常。此外,android开发团队为使用小部件添加了一些新的api(与用户交互,如固定等)
另一答案如果您在Oreo及以上时无法接收广播,在为
intent
创建sendBroadcast
时,您必须指定必须处理它的类,否则它将不会触发。例:
Intent i = new Intent("com.mydomain.action.UPDATE_WIDGET");
i.setClass(context, MyWidgetProvider.class);
sendBroadcast(i);
推荐阅读
- 如何将项目添加到具有Android Room中父实体的外键引用的子实体()
- AlarmManager和BroadcastReceiver的LocalNotification未在Android O(oreo)中启动
- Android - 使用广播接收器重新加载活动
- HM10与Arduino和Android BLE之间的蓝牙低功耗大数据传输
- 不运行时接收消息,Xamarin Android上的显式广播和隐式广播
- 即使屏幕在Android中被锁定,也会启动活动屏幕
- CONNECTIVITY_CHANGE在Android N的目标中已弃用
- Android - 启动时启动服务
- Android O中不会调用具有签名权限的Android隐式BroadcastReceiver