通過測試代碼
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "---onReceive---" + context.getPackageName());
try {
Thread.currentThread().sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
abortBroadcast();
}
得出結果。
同時接收開機廣播的多個應用,會通過順序接收,並不是無序廣播的異步操作。
第二個接收開機廣播的應用會在第一個應用接到開機廣播後延遲指定的時間(4秒),收到開機廣播。攔截方法並沒有起到作用,說明不是有序廣播的機制。