Java Android广播-使用权限发送和接收
我尝试实现Java Android广播-使用权限发送和接收,java,android,android-permissions,android-broadcast,android-broadcastreceiver,Java,Android,Android Permissions,Android Broadcast,Android Broadcastreceiver,我尝试实现BroadcastReceiver的权限方法 在sender类中,我尝试发送正常广播 Intent intent = new Intent(); intent.setAction("com.vn.BroadcastReceiver"); intent.putExtra("Foo", "Bar"); sendBroadcast(intent); Intent intent = new Intent(); intent.setAction("com.vn.
BroadcastReceiver
的权限方法
在sender类中,我尝试发送正常广播
Intent intent = new Intent();
intent.setAction("com.vn.BroadcastReceiver");
intent.putExtra("Foo", "Bar");
sendBroadcast(intent);
Intent intent = new Intent();
intent.setAction("com.vn.BroadcastReceiver");
intent.putExtra("Foo", "Bar");
sendBroadcast(intent, "com.nhp");
使用AndroidManifest
文件
<uses-permission android:name="com.nhp"/>
及其AndroidManifest
<permission android:name="com.nhp" />
<receiver
android:permission="com.nhp"
android:exported="true"
android:name=".receivers.FirstBroadcastReceiver">
<intent-filter>
<action android:name="com.vn.BroadcastReceiver" />
</intent-filter>
</receiver>
我首先安装接收器应用程序,然后安装发送器。成功了
但是当我尝试调用sendBroadcast(intent,“com.nhp”)代码>,它不会触发任何东西。谁能为我解释一下原因?谢谢应在发件人中声明自定义权限,收件人应请求该权限 此外,广播接收器不需要
android:permission
属性。只有当发件人必须具有特定权限时,才应使用它
发送方 发件人在其清单中声明自定义权限
<permission android:name="com.nhp" />
接收器
接收方在其清单中请求自定义权限并侦听广播
<uses-permission android:name="com.nhp"/>
...
...
...
<receiver
android:exported="true"
android:name=".receivers.FirstBroadcastReceiver">
<intent-filter>
<action android:name="com.vn.BroadcastReceiver" />
</intent-filter>
</receiver>
...
...
...
并且必须首先安装发件人应用程序,因为它定义了自定义权限
注意:安装应用程序时会注册自定义权限。定义自定义权限的应用程序必须在使用它的应用程序之前安装
伟大的非常感谢。
<uses-permission android:name="com.nhp"/>
...
...
...
<receiver
android:exported="true"
android:name=".receivers.FirstBroadcastReceiver">
<intent-filter>
<action android:name="com.vn.BroadcastReceiver" />
</intent-filter>
</receiver>