Android8.0,9.0,10.0收不到靜態註冊的BroadcastReceiver

之前公司的老項目裏在AndroidMainfast裏面註冊的BroadcastReceiver,現在更新到SDK29版本後收不到了,於是在Activity中重新註冊了一下就可以了。

首先是在AndroidMainfast裏面的註冊的:

<receiver android:name="com.ibptadb.brecevier.BRStoreUeInfo">
    <intent-filter>
        <action android:name="com.android.storeUeInfo"/>
    </intent-filter>
</receiver>

然後是在Activity中動態註冊的:

if (storeUeInfo == null) {
    storeUeInfo = new BRStoreUeInfo();
    registerReceiver(storeUeInfo, new IntentFilter("com.android.storeUeInfo"));
}

在Destory方法中註銷:

if (storeUeInfo != null) {
    unregisterReceiver(storeUeInfo);
    storeUeInfo = null;
}

這樣子就可以了

發佈了58 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章