Android第一行程式碼第二版:5.3.2傳送有序廣播,在安卓8上無法接收廣播我個人的處理方法
阿新 • • 發佈:2019-02-13
希望有大佬能教我別的方法,我明前只能想到這個方法啦。多謝!
書上的原始碼是
Intent intent = new Intent("com.example.weiru.broadcasttest.MY_BROADCAST") ;
sendOrderedBroadcast(intent,null);
但是這樣在安卓8上面行不通,我在前一篇博文已經處理過了,如下
Intent intent = new Intent("com.example.weiru.broadcasttest.MY_BROADCAST") ; intent.setComponent(new ComponentName("com.example.weiru.broadcasttest", "com.example.weiru.broadcasttest.MyBroadcastReceiver")) ; sendOrderedBroadcast(intent,null);
我以為這樣就可以在別的APP裡接收這個廣播了,結果是錯的。用安卓7就可以實現了。但是安卓8實現不了。經過了好久的腦力掙扎。最終弄出來如下的程式碼:
Intent intent = new Intent("com.example.weiru.broadcasttest.MY_BROADCAST") ; Intent intent2 = new Intent("com.example.weiru.broadcasttest.MY_BROADCAST") ; intent.setComponent(new ComponentName("com.example.weiru.broadcasttest", "com.example.weiru.broadcasttest.MyBroadcastReceiver")) ; intent2.setComponent(new ComponentName("com.example.weiru.boradcasttest2", "com.example.weiru.boradcasttest2.AnotherBroadcastReceiver")) ; sendOrderedBroadcast(intent,null); sendOrderedBroadcast(intent2,null);
這樣子就可以讓另一個APP也收到廣播啦。開心!