Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用android O发送推送通知的广播接收器_Android_Push Notification_Android Pendingintent_Android Broadcastreceiver_Android 8.0 Oreo - Fatal编程技术网

使用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

我正在将我的目标sdk切换到26(android O),由于新的后台执行限制,我的广播接收器不再工作。根据谷歌文档

需要签名权限的广播不受此>限制,因为这些广播仅发送到使用相同证书签名>的应用,而不是发送到设备上的所有应用

因此,我在清单中添加了自定义权限。当我以编程方式触发广播时,它就工作了。
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,因为它与我的用例无关。你有什么想法吗


谢谢

你不能让它成为一个明确的广播?这些是根据文件规定的除外。