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)的 android:permission="com.self.permission.send_broadcast"> 这样一来,该receiver便只能接收来自具有"com.self.permission.send_broadcast"权限的应用发出的广播。 3.要发送这种广播,只需在Sender App的AndroidManifest.xml中也声明使用该权限即可:
文章标题:android广播指定权限
浏览路径:http://cdxtjz.cn/article/ijhdsh.html