To enforce a permission when sending, you supply a non-null permission argument to sendBroadcast(Intent, String)
or sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle)
. Only receivers who have been granted this permission (by requesting it with the <uses-permission>
tag in their AndroidManifest.xml
) will be able to receive the broadcast.
To enforce a permission when receiving, you supply a non-null permission when registering your receiver -- either when calling registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)
or in the static <receiver>
tag in your AndroidManifest.xml
. Only broadcasters who have been granted this permission (by requesting it with the <uses-permission>
tag in their AndroidManifest.xml
) will be able to send an Intent to the receiver.
以上是Android的官网文档,要补充的是:
1.要使用permission首先要在manifest中有定义,然后要有<uses-permission>标签;
2.如果发送的broadcast带有permission,那么只有在那些manifest文件中包含了<uses-permission>的receiver才能够接受到;
3.如果在<receiver>中设置了<android:permission="">,那么只有在那些manifest文件中包含了<uses-permission>的broadcast才能够发送给它;