您的位置:首页 > 其它

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

2017-04-18 23:06 253 查看
跨应用发送和接收广播,与同应用下的情况差不多,只需要添加一个权限,以及配置一下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" (有时候可以不要该属性)

 

动态注册也是可能的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: