我有一個android應用程序,我安排將要使用鬧鐘管理器在將來執行的事件(位置更新)。只要應用程序在前臺或後臺運行,預定的事件就會按預期執行。但是,一旦我強制關閉任務管理器下的應用程序,或者當Android應用程序處於後臺時由於內存問題而終止應用程序時,我不再能夠從警報管理器接收廣播。安卓廣播接收器沒有在應用程序關閉時執行
如所建議的通過各種文章和網我使用 1)Intent.Flag_Include_Stopped_Packages 2)接收機機器人嘗試:過程=「:遠程」清單中 3)接收機機器人:導出=「真」,在清單
在服務:
Intent locationIntent = new Intent("com.dummy.intent");
locationIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
locationIntent.putExtra(LocationLibraryConstants.LOCATION_BROADCAST_EXTRA_LOCATIONINFO, locationInfo);
context.sendBroadcast(locationIntent, "android.permission.ACCESS_FINE_LOCATION");
在清單:
<receiver android:name=".NearestStationBroadcastReceiver" android:enabled="true"
android:exported="true"
android:process=":remote">
<intent-filter>
<action android:name="com.dummy.intent" />
</intent-filter>
</receiver>
可發omeone請幫我一下嗎?
感謝您的回答。 – user3047032
但我沒有在模擬器上模擬這種情況。我在實際設備上安裝應用程序。在我開啓了幾個應用程序之後,當我開啓幾個其他應用程序後,開始收聽位置警報以及應用程序移至非活動狀態(通過打開其他應用程序)時,android系統會停止我的位置應用程序。然後在報警間隔服務重新啓動併發送位置更新信息的意圖。但是在應用清單中定義的廣播接收器不會觸發。當應用程序在後臺可用時,上述功能完美無缺。希望你明白我的觀點。 – user3047032