跨应用发送和接受广播

时间:2022-04-25
本文章向大家介绍跨应用发送和接受广播,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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