android广播指定权限

1.自己发送的广播,只有指定的app才能接收(通过权限设置)

创新互联是一家专注于网站制作、做网站与策划设计,覃塘网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:覃塘等地区。覃塘做网站价格咨询:18980820575

//sender app

1.在Androidmanifest.xml中声明新的权限:

    android:name="com.self.permission.recv_broadcast"

    android:protectionLevel="normal" />

2.发送广播时,指定权限:

sendBroadcast("com.xxx.xxx.action","com.self.permission.recv_broadcast");

经过以上2步,使得只有具备com.self.permission.recv_broadcast权限的Receiver才能接收该广播。

故,要接收该广播,接收的app应该在其Androidmanifest.xml中声明使用该权限:

然后,静态注册则还需在AndroidMainfest.xml中声明:

          android:permission="com.self.permission.recv_broadcast">   

     

            

     

 

或者:

//动态注册

registerReceiver(receiver, "com.self.permission.recv_broadcast",null);

经测试,只要在接收特定权限广播的AndroidMainfest.xml中声明:

,那么即使不使用registerReceiver(receiver, "xxx.permission.xx",null)权限注册方式,而采用简单的registerReceiver(receiver,filter),这样,也是可以接收到特定权限广播的,因为xml里面已经声明了权限(注:该种方式只对普通应用有效,系统签名的应用通过这种不指明权限的注册方法,是不能接收到相应广播的)。

2.自己接收广播,只有指定的广播才会接收(也是通过权限设置)

//receiver app

1.因为是自己接收特定广播,故该广播也是需要某一特定权限,故先在Androidmanifest.xml中声明一个新的权限:

2.然后,在自己(Receiver)的tag中添加权限声明:

          android:permission="com.self.permission.send_broadcast">   

     

            

     

 

这样一来,该receiver便只能接收来自具有"com.self.permission.send_broadcast"权限的应用发出的广播。

3.要发送这种广播,只需在Sender App的AndroidManifest.xml中也声明使用该权限即可:


分享文章:android广播指定权限
当前URL:http://azwzsj.com/article/ijhdsh.html