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); // 發送本地廣播
  • 本地廣播是沒法經過靜態註冊的方式來接收的。
  • 應用程序內部發送,數據不外露
相關文章
相關標籤/搜索