广播的特别应用场景

场景是什么呢?

其实很多人都不知道安卓app内的广播接收器还有一个用途,就是它可以接收来自其他应用程序的广播。
这也算是跨进程调用的一种方式吧!

怎么办到呢?

<!--自定义一个权限名称-->  
    <permission android:name="com.test.mybrpermission"/>  
      
    <!--本程序需要请求的这个权限,否则自己也无法调用这个广播了-->  
    <uses-permission android:name="com.test.mybrpermission"/>  
  
    <application  
        android:allowBackup="true"  
        android:icon="@drawable/ic_launcher"  
        android:label="@string/app_name"  
        android:theme="@style/AppTheme" >  
        <activity  
            android:name=".MainActivity"  
            android:label="@string/app_name" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
  
        <!--该receiver的调用者需要请求的一个权限-->  
        <receiver android:name=".MyReceiver"  
            android:exported="true"  
            android:permission="com.test.mybrpermission"  
            >  
            <intent-filter android:priority="20">  
                <action android:name="com.test.mybr"/>  
            </intent-filter>  
        </receiver>  
    </application>  

1.添加android:exported="true"

2.添加<intent-filter> (其实加这一条就可以了,其他有默认值)

3.添加自定义权限,否则编译时发出警告!

推荐阅读更多精彩内容