您的位置:首页 > 其它

跨应用发送和接收广播

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

发送广播的应用中:

Java代码


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

sendBroadcast(intent);

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

Java代码


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

接收广播的应用中:

Java代码


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的几个属性

Java代码


<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:permission="info.zhegui.receiver.RECEIVE"

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" (有时候可以不要该属性)

参考文档:
http://developer.android.com/guide/topics/manifest/receiver-element.html http://developer.android.com/training/articles/security-tips.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: