Android 四大组件Broadcast
16lz
2021-01-23
广播
广播作用:接受其他进程发送的消息
广播分为发送者和接受者
发送者有两种注册方式:动态注册,xml文件注册,也是静态注册
接受者(BroadcastReceiver):自定义一个类继承android.content.BroadcastReceiver 类,重写onReceive()获取传递过来的参数
直接在AndroidManifest.xml文件中进行注册。规则如下:
android:permission android:process=":CIA" //进程broadcastReceiver运行所处的进程。默认为app的进程。可以指定独立的进程(Android四大基本组件都可以通过此属性指定自己的独立进程 android:exported="true"——//此broadcastReceiver能否接收其他App的发出的广播,这个属性默认值有点意思,其默认值是由receiver中有无intent-filter决定的,如果有intent-filter,默认值为true,否则为false。
<receiver android:name=".BroadcastReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> intent-filter> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> intent-filter> receiver>
动态注册
public class BroadcastActivity extends Activity { private String BROADCAST_ACTION ="WER"; private BroadcastReceiver mBroadcasrReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //动态注册 mBroadcasrReceiver = new BroadcastReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(RESTRICTIONS_SERVICE); registerReceiver(mBroadcasrReceiver, intentFilter); //广播的发送 Intent intent = new Intent(); intent.setAction(BROADCAST_ACTION); intent.putExtra("name","ni hao a "); sendBroadcast(intent); } }
更多相关文章
- Android下动态链接库.so调用的简单例子
- Android之通过AIDL机制实现进程间的通讯实例
- android使用aidl实现进程间通信的实例
- android 动态获取res资源id
- Android 多进程总结
- [Android NDK]Android JNI开发例子 ---2 动态加载JNI lib
- CrossWalk - android 动态加载so库文件实践
- Android多进程app中Application回调onCreate()方法被执行多次分