Android学习--09-广播

广播机制java

接收广播

  • 继承 BroadcastReceiver,重写onReceive()方法
  • 注册监听registerReceiver(接收对象,IntentFilter)
  1. 动态注册,应用程序启动后开始接收广播
  2. 静态注册,系统启动就开始接收广播,无需启动应用程序。
    • 开发权限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    • AndroidManifest.xml 中将这个广播接收器的类名注册进去
<receiver android:name=".BootCompleteReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

发送广播

  • 标准
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
  • 有序
//sendBroadcast();
sendOrderedBroadcast(intent, null);
<!-- 范围是 -1000 ~ 1000 -->
<intent-filter android:priority="100" >
* 可设置截断
@Override
public void onReceive(Context context, Intent intent) {
//广播截断,后面的广播接收器将没法再接收到这条广播
abortBroadcast();
}

本地广播

//sendBroadcast(intent);
localBroadcastManager.sendBroadcast(intent); // 发送本地广播
  • 本地广播是没法经过静态注册的方式来接收的。
  • 应用程序内部发送,数据不外露
相关文章
相关标签/搜索