Android 8.0 靜態(tài)廣播無法接收

如果你看到這篇文章 相信你已經(jīng)在適配8.0 各種莫名其妙的bug苦惱
筆者在適配8.0發(fā)現(xiàn),xml注冊的靜態(tài)廣播無法接收

先說明問題出現(xiàn)的根本原因

google官方文檔

https://developer.android.com/guide/components/broadcasts.html#receiving_broadcasts

Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-declared receivers.
If your app targets API level 26 or higher, you cannot use the manifest to declare a receiver for most implicit broadcasts (broadcasts that do not target your app specifically).

解釋一下
在Android 8.0 及以上 在xml中注冊的廣播,在接收的時候收到了額外的限制,如果你的app目標等級是26及以上,將無法接收到xml注冊的廣播

這是google 為了app注冊的靜態(tài)廣播導(dǎo)致耗電加的限制

既然google已經(jīng)都這么規(guī)定了,想反抗是萬萬不能的,但是解決辦法還是有的

辦法一:
使用動態(tài)廣播registerReceiver注冊形式,這個不受限制(推薦)
辦法二:
gradle 中的targetSdkVersion 設(shè)置小于26

附上 查詢已經(jīng)注冊的Receiver code

                PackageManager pm = getPackageManager();
                List<ResolveInfo> resolveInfos = pm.queryBroadcastReceivers(intent, 0);
                for (int i = 0; i < resolveInfos.size(); i++) {
                    Log.e("resolveInfos","resolveInfos---"+resolveInfos.get(i).toString());
                }

更新一波,一種靜態(tài)注冊可行辦法

指定broadcast 接收

                Intent intent = new Intent();
                intent.setAction("test");
                intent.setComponent(new ComponentName(MainActivity.this, MyBroadcastReceiver.class));
                sendBroadcast(intent);

接收代碼

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        Log.e("action", action + "");
    }

最后xml靜態(tài)注冊

<receiver android:name=".MyBroadcastReceiver"></receiver>

這種方式 可以靜態(tài)的指定的BroadcastReceiver接收 ..

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末空凸,一起剝皮案震驚了整個濱河市较解,隨后出現(xiàn)的幾起案子畜疾,更是在濱河造成了極大的恐慌,老刑警劉巖印衔,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啡捶,死亡現(xiàn)場離奇詭異,居然都是意外死亡奸焙,警方通過查閱死者的電腦和手機瞎暑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來与帆,“玉大人了赌,你說我怎么就攤上這事⌒悖” “怎么了勿她?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長阵翎。 經(jīng)常有香客問我逢并,道長,這世上最難降的妖魔是什么郭卫? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任砍聊,我火速辦了婚禮,結(jié)果婚禮上贰军,老公的妹妹穿的比我還像新娘玻蝌。我一直安慰自己,他們只是感情好谓形,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布灶伊。 她就那樣靜靜地躺著疆前,像睡著了一般寒跳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竹椒,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天童太,我揣著相機與錄音,去河邊找鬼。 笑死书释,一個胖子當著我的面吹牛翘贮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爆惧,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼狸页,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扯再?” 一聲冷哼從身側(cè)響起芍耘,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熄阻,沒想到半個月后斋竞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡秃殉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年坝初,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钾军。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳄袍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巧颈,到底是詐尸還是另有隱情畦木,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布砸泛,位于F島的核電站十籍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏唇礁。R本人自食惡果不足惜勾栗,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盏筐。 院中可真熱鬧围俘,春花似錦、人聲如沸琢融。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漾抬。三九已至宿亡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纳令,已是汗流浹背挽荠。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工克胳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人圈匆。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓漠另,卻偏偏與公主長得像,于是被迫代替她去往敵國和親跃赚。 傳聞我的和親對象是個殘疾皇子笆搓,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)纬傲,斷路器砚作,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 1.Android廣播機制概述 Android廣播分為兩個方面:廣播發(fā)送者和廣播接收者,通常情況下嘹锁,Broadca...
    IT小魔女的故事閱讀 554評論 0 2
  • 原創(chuàng)文|蘇吉兒(一)浮沉歲月如流水光陰葫录,轉(zhuǎn)眼又到秋天了,酷暑難耐的日子早已經(jīng)全身而退领猾,迎來的是微風徐徐的涼意米同、多彩...
    敏慧琳閱讀 241評論 0 2
  • 愛是什么? 愛是每年紀念日都有的碰杯摔竿。
    趁澡閱讀 86評論 0 0