開發任務中遇到需要靜態註冊廣播,在接收到廣播後啓動一個activity的情況,奇怪的是,在前兩次收到廣播能夠啓動activity,然後再發廣播沒有響應
查看到如下log:
W/ActivityManager(227): Unable to start activity com.arvin.android.MainActivity for broadcast Intent { act=com.android.test flg=0x14 (has extras) }: process is bad
程序被標記爲bad,再次收到廣播後系統不會執行代碼
再次查看log發現,在activity啓動時出現空指針異常,app發生crash導致被標記爲bad,再次收到廣播後系統也不會啓動此BroadcastReceiver,即便他是靜態註冊的
找到出現空指針異常的位置並解決後此現象消失,每次收到廣播都能夠啓動activity