跨应用(跨进程)发送广播和接收广播

来源:互联网 发布:淘宝怎么能分期付款 编辑:程序博客网 时间:2024/05/15 12:10

跨应用发送和接收广播,与同应用下的情况差不多,只需要添加一个权限,以及配置一下receiver的android:process属性即可

 

发送广播的应用中:


Intent intent = new Intent("info.zhegui.receiver.interprocess");  sendBroadcast(intent);  

注意要在manifest.xml添加接收广播的权限,这个权限是receiver自定义的

<permission android:name="info.zhegui.receiver.RECEIVE" />  



接收广播的应用中:


public class MyReceiver extends BroadcastReceiver {      private final String TAG = this.getClass().getName();        @Override      public void onReceive(Context content, Intent intent) {          Log.i(TAG, "intent:" + intent);      }    }  

 在manifest.xml中添加自定义权限,以及配置receiver的几个属性

<uses-permission android:name="info.zhegui.receiver.RECEIVE"/>  <application      android:allowBackup="true"      android:icon="@drawable/ic_launcher"      android:label="@string/app_name"      android:theme="@style/AppTheme" >      <receiver          android:name="info.zhegui.receiver.MyReceiver"          android:exported="true"          android:process=":remote" >          <intent-filter>              <action android:name="info.zhegui.receiver.interprocess" />          </intent-filter>      </receiver>  </application> 



需要注意的三个地方:

1,自定义权限

2,android:exported="true"

3,android:process=":remote" (有时候可以不要该属性)

 

动态注册也是可能的。




0 0
原创粉丝点击