最近在做項目的時候自定義個廣播,在Android 8.0以下的系統(tǒng)中可以接收到自己發(fā)送的廣播,但是在Android8.0以及以上的系統(tǒng)手機中無法接收到該廣播。
對廣播的限制具體可以查看一下Android 8.0?API 介紹? ? ?https://developer.android.google.cn/about/versions/oreo/background
解決方法:在Manifest注冊,那么當發(fā)送廣播的時候,指定廣播接收者的包名,即發(fā)送顯式廣播
? ? Intent intent = new Intent("com.xxx.xxx.receiver");
? ? intent.putExtra("receive","test broadcast");
? ? intent.setPackage(getPackageName());? //添加解決Android8.0發(fā)送廣播接收不到的問題
? ? sendBroadcast(intent);