Android 使用 BroadcastReceiver 的权限设置
来源:互联网 发布:java调用main函数 编辑:程序博客网 时间:2024/04/30 07:49
比如在当前 Activity 下动态注册一个广播,我们会这样做
this.registerReceiver(receiver, filter)
这样的话,这个 receiver 组件是完全公开的,不仅仅我们的应用可以向它发送数据,外部应用也可以指定相应的 action 来向它发送恶意数据
为了提高安全性,则需要对其进行权限限制,有两种措施
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)
该方法还是允许接收外部的广播,但添加了权限来进行限制
在动态注册中的代码
BroadcastReceiver receiver = new MyBroadcastReceiver();Handler handler = new MyHandler();IntentFilter filter = new IntentFilter();filter.addAction("me.lynch.action.test");String permission = "me.lynch.permission.test";context.register(receiver, filter, permission, handler);
如果使用的是静态注册,那就是这样:
<permission android:name = "me.lynch.permission.test"/> ...<receiver android:name="MyBroadcastReceiver" android:permission="me.lynch.permission.test"> <intent-filter> <action android:name="me.lynch.action.test" /> </intent-filter> </receiver>
这样的话,只有拥有了 “me.lynch.permission.test” 的权限的应用才能给该 BroadcastReceiver 发广播
<uses-permission android:name="me.lynch.permission.test" />Intent intent = new Intent();intent.setAction("me.lynch.action.test");sendBrocast(intent, "me.lynch.permission.test");
LocalBroadcastManager
这是一个工具类,可以用来限制 BroadcastReceiver 的使用,只能应用内发送和接收广播
注册广播
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(context);BroadcastReceiver receiver = new MyBroadcastReceiver();IntentFilter filter = new IntentFilter();filter.addAction("me.lynch.action.test");manager.register(receiver, filter);
发送广播
Intent intent = new Intent();intent.setAction("me.lynch.action.test");manager.sendBrocast(intent);
0 0
- Android 使用 BroadcastReceiver 的权限设置
- Android Broadcast 和 BroadcastReceiver的自定义权限使用
- [Android] BroadCastReceiver的使用
- Android -- BroadcastReceiver的使用
- Android BroadcastReceiver的使用
- 【android】BroadcastReceiver的使用
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限机制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限机制
- Android基础总结四:BroadcastReceiver总结二(广播权限设置)
- android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android中BroadcastReceiver的使用
- CentOs7下安装mysql5.7
- scala细节-你不知道的'_'
- 浅谈数据库中的知识发现
- context使用startActivity时的错误
- 从零开始掌握Cocos2d-x 3.x视频教程第1季__开发环境搭建
- Android 使用 BroadcastReceiver 的权限设置
- 斐波拉契加强版
- Spring 初始化过程
- C++ 虚函数表解析
- PL/SQL基础(1):语法
- 000-algorithm-quick_sort
- 鲁棒性的获得 —— 测试函数的代码框架
- 冒泡排序
- react native语法ECMAScript 6 学习笔记----箭头函数和延展操作符