2017-06-13 69 views
0

這裏的關鍵詞是Hyuawei,因爲這個設備([email protected])我得到接收廣播應用處於停止狀態

06-13 14:28:06.470 3198-3746/? I/ActivityManager: FireWall skip stopped pkg: com.my.package for broadcast! 

我發送廣播的方式上:

Intent intent = new Intent("SOME_ACTION_NAME"); 
    intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); 
    context.sendBroadcast(intent); 

當然,接收器是出口的清單,並在其他設備,如三星工程。

有沒有人遇到過解決這個問題?

回答

1

看起來您的應用程序處於停止狀態,或者是因爲它已安裝,但用戶從未啓動任何活動,或者用戶在設置中單擊了「強行停止」按鈕,或者設備使用了「強制停止」在其他地方(例如,從總覽屏幕上滑下)。

AFAIK,FLAG_INCLUDE_STOPPED_PACKAGES不影響這一點。此外,implicit broadcasts, such as yours, are banned on Android 8.0+

使用明確的Intent(即設置ComponentName的位置)而不是隱式的來解決這兩個問題。

+0

感謝您的文章,有趣的解決方法。我的情況是,我向系統廣播了一些HELLO,所以我需要以某種方式解決這個限制。 (需要先嚐試解決方法,但我更喜歡一些「合法」解決方案) –

+0

好的,我有一個想法,謝謝! –