android 如何通过自定义广播实现跨应用通信

发送端 :
1,在清单文件中声明权限  并注册权限(应用内广播不需要声明 注册权限)

<permission
        android:name="com.xcy.broadcastreceiversenddemo.MY_PERMISSION"
        android:protectionLevel="signature"/>
    <uses-permission android:name="com.xcy.broadcastreceiversenddemo.MY_PERMISSION" />

其中users-permission和其他正常声明的权限一样 只不过name不同

    <uses-permissionandroid:name="android.permission.BLUETOOTH"/>  

而Permission用于自定义权限   标签常用的属性就是name  protectionlevel

name就是权限的名字保证系统内不重复就行

protectionLevlel表示安全级别

从低到高的顺序有以下四种:

  1. normal:普通权限,优先级最低,需要在应用安装时提示用户授权,否则无法安装,而一旦允许,后面APP在运行过程中将一直拥有该权限。
  2. dangerous:危险权限,比如通讯录,短信等,该权限在6.0以下,表现行为与normal无异,但在6.0及以上需要在APP运行过程中动态申请。
  3. signature:获取该权限,必须保证请求方和接收方使用同一个签名文件,在安装时默认授权,不会提示用户。该权限一般用于系统内置应用,或者同一个公司的多个APP中。
  4. signatureOrSystem:相比signature多了一个条件,当请求方为系统应用时默认拥有该权限,一般用于系统内置应用。

 2.发送广播 

private final String permission = "com.xcy.broadcastreceiversenddemo.MY_PERMISSION";
 private final String action = "com.xcy.broadcastreceiversenddemo.MY_ACTION";

public void sendBroadcastReceiver(){
        Log.d(TAG,"sendBroadcastReceiver");
        Intent intent = new Intent();
        intent.setAction(action);
        sendBroadcast(intent,permission);

接收端 :

1.注册权限
<uses-permission android:name="com.xcy.broadcastreceiversenddemo.MY_PERMISSION" />

2.静态或者动态注册广播监听

安卓自定义权限广播_android 广播权限-CSDN博客

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值