Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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 如何检查广播发件人是否具有发送广播的自定义权限_Android_Permissions_Broadcastreceiver_Broadcast - Fatal编程技术网

Android 如何检查广播发件人是否具有发送广播的自定义权限

Android 如何检查广播发件人是否具有发送广播的自定义权限,android,permissions,broadcastreceiver,broadcast,Android,Permissions,Broadcastreceiver,Broadcast,我有一个以广播开始的应用程序插件。我已经设法添加了自定义权限,因此只有具有该权限的应用程序才能接收广播 然而,我不知道如何实现更重要的部分:我如何检查,如果发件人有自定义权限,那么只有我的主应用程序才能发送广播 我知道这是可能的,但我不知道怎么做 谢谢 尝试使用: Context ctx = ...; int result = ctx.checkCallingPermission("your.permission.goes.here"); if (PackageManager.PERMISSIO

我有一个以广播开始的应用程序插件。我已经设法添加了自定义权限,因此只有具有该权限的应用程序才能接收广播

然而,我不知道如何实现更重要的部分:我如何检查,如果发件人有自定义权限,那么只有我的主应用程序才能发送广播

我知道这是可能的,但我不知道怎么做

谢谢

尝试使用:

Context ctx = ...;
int result = ctx.checkCallingPermission("your.permission.goes.here");
if (PackageManager.PERMISSION_GRANTED == result) {
    // Do your stuff here
}
在你的广播接收器里。或者在定义接收者的AndroidManifest.xml中声明权限

<reciever android:name="your.receiver.goes.here"
    android:permission="your.permission.goes.here" />

尝试使用:

Context ctx = ...;
int result = ctx.checkCallingPermission("your.permission.goes.here");
if (PackageManager.PERMISSION_GRANTED == result) {
    // Do your stuff here
}
在你的广播接收器里。或者在定义接收者的AndroidManifest.xml中声明权限

<reciever android:name="your.receiver.goes.here"
    android:permission="your.permission.goes.here" />

我曾尝试在AppWidgetProvider中使用checkCallingPermission,尽管我已添加到 AndroidManifest.xml:

...
    <permission android:permissionGroup="android.permission-group.PERSONAL_INFO"
      android:description="@string/receiveUpdates" android:protectionLevel="normal"
      android:label="@string/receiveStatusUpdates" android:name="my.prem.RCV_STATUS">
    </permission>

    <uses-permission android:name="my.prem.RCV_STATUS"/>
... 
单击小部件发送一个PendingEvent以启动执行AsyncTask的服务,AsyncTask的postExecute发送我正在等待的意图


谢谢。

我已经尝试在AppWidgetProvider中使用checkCallingPermission,尽管我已经添加到 AndroidManifest.xml:

...
    <permission android:permissionGroup="android.permission-group.PERSONAL_INFO"
      android:description="@string/receiveUpdates" android:protectionLevel="normal"
      android:label="@string/receiveStatusUpdates" android:name="my.prem.RCV_STATUS">
    </permission>

    <uses-permission android:name="my.prem.RCV_STATUS"/>
... 
单击小部件发送一个PendingEvent以启动执行AsyncTask的服务,AsyncTask的postExecute发送我正在等待的意图


谢谢。

太好了,正是我想要的!:)AFAIK
checkCallingPermission()
将无法从
BroadcastReceiver
工作,因为它仅用于
活页夹中。完美,正是我想要的!:)AFAIK
checkCallingPermission()
将无法从
BroadcastReceiver
工作,因为它仅用于
活页夹中。