使用android O发送推送通知的广播接收器
我正在将我的目标sdk切换到26(android O),由于新的后台执行限制,我的广播接收器不再工作。根据谷歌文档 需要签名权限的广播不受此>限制,因为这些广播仅发送到使用相同证书签名>的应用,而不是发送到设备上的所有应用 因此,我在清单中添加了自定义权限。当我以编程方式触发广播时,它就工作了。使用android O发送推送通知的广播接收器,android,push-notification,android-pendingintent,android-broadcastreceiver,android-8.0-oreo,Android,Push Notification,Android Pendingintent,Android Broadcastreceiver,Android 8.0 Oreo,我正在将我的目标sdk切换到26(android O),由于新的后台执行限制,我的广播接收器不再工作。根据谷歌文档 需要签名权限的广播不受此>限制,因为这些广播仅发送到使用相同证书签名>的应用,而不是发送到设备上的所有应用 因此,我在清单中添加了自定义权限。当我以编程方式触发广播时,它就工作了。sendBroadcast(intent,“my.permission”),但我找不到方法使它在推送通知的操作按钮上工作,因为我不知道如何指定权限 notificationBuilder.addActio
sendBroadcast(intent,“my.permission”)
,但我找不到方法使它在推送通知的操作按钮上工作,因为我不知道如何指定权限
notificationBuilder.addAction(drawable, "title", pendingIntent);
我的悬挂式帐篷是这样设置的
Intent acceptIntent = new Intent();
acceptIntent.setAction("android.intent.action.ACCEPT_ACTION");
pendingIntent = PendingIntent.getBroadcast(context,PENDING_INTENT_ACCEPT_REQUEST_CODE, acceptIntent,
PendingIntent.FLAG_ONE_SHOT);
我的舱单:
<permission android:name="my.permission" android:label="my_permission"
android:protectionLevel="signature"/>
<uses-permission android:name="my.permission"/>
...
<receiver
android:name=".MyBroadcastReceiver"
android:enabled="true"
android:permission="my.permission"
>
<intent-filter>
<action android:name="android.intent.action.ACCEPT_ACTION"/>
</intent-filter>
</receiver>
...
我无法在活动中以编程方式注册接收器,因为它未链接到活动。我不能使用JobScheduler,因为它与我的用例无关。你有什么想法吗
谢谢 你不能让它成为一个明确的广播?这些是根据文件规定的除外。