2016-04-28 45 views
0

我的AlarmManager效果很好,但清潔劑會阻止我的alarmManager重複任務。或者它沒有運行我的後臺服務,其延伸BroadcastReceiver停止工作。清潔器停止我的AlarmManager

我上點擊按鈕開始alarmManager

intent = new Intent(MyActivity.this,BroadCastReceiver1.class); 

pi = PendingIntent.getBroadcast(MyActivity.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 

alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 

alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), 30000 , pi); 

BroadCastReceiver類我把TOAST。它可以在清潔工不運行的時候起作用......但是當清潔工發生時,我的服務就結束 否Toast顯示給我。我該怎麼做才能解決這個問題。

我宣佈在Manifest file

<receiver android:name=".BroadCastReceiver1" 
      android:exported="true" 
      android:process=":remote"> 
     <intent-filter> 
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
     </intent-filter> </receiver> 
+0

adb shell am force-stop 停止了一切,AlarmManager也無濟於事。 儘管使用_WAKEUP類型的AlarmManager –

+0

RTC_WAKEUP不起作用,因爲我想每30秒上傳一些數據。但是當我編寫RTC時,它會上傳數據,但是RTC_wakeup不會。 – Nik

+0

當我的AlarmManager停止時,我可以得到任何事件嗎?以便我可以重新啓動服務 – Nik

回答

0

清潔停止其正在運行的服務在後臺只是爲了節省內存和CPU使用的應用程序。您必須從運行的應用程序列表中取消選擇您的應用程序,同時提升您的設備。

+0

以編程方式,清潔器可能不會影響我的應用程序? – Nik

+0

如何運行一個服務並且它不會被系統注意到?即使[AppLock](https://play.google.com/store/apps/details?id=com.domobile.applock)停止工作(服務被禁用,直到我們通過點擊它重新啓動applock)。當我們專門運行清潔工時當我們在清潔程序中運行CPU Cooler時。 –

+0

我可以得到任何說我的服務被禁用的事件嗎?由於任何原因,是否由系統故障更清潔 – Nik