2017-09-14 56 views
0

我的應用程序有重複任務將每5分鐘運行一次。我嘗試安裝兩次相同的應用程序,然後警報管理器不會觸發廣播執行任務。報警管理問題

首次安裝它一直工作,直到我重新安裝相同的版本,它停止重複任務。這是Alarm Manager的問題。我不明白。

這是我的代碼:

 Intent intent = new Intent(context, CheckingPriceReceiver.class); 
    intent.setAction("com.abccompany.trading"); 

    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 
    REQ_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    long mInterval = 300000; 
    long triggerTime = System.currentTimeMillis() + mInterval; 

    AlarmManager alarmManager = (AlarmManager) 
    context.getSystemService(Context.ALARM_SERVICE); 

    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerTime, mInterval, pendingIntent); 

我不知道如何解決它。請幫助!! ~~

回答

1

從這個答案, Android Alarm What is the difference between four types of Alarm that AlarmManager provides and when to use what?

而且這個講述了報警類型的不同, https://developer.android.com/training/scheduling/alarms.html

ELAPSED_REALTIME

它會自啓動觸發時間。假設您設置爲300000,那麼鬧鐘將每隔5分鐘觸發一次,因此不會考慮當前時間。

RTC

這將觸發按時鐘時間的含義並不需要開機時間考慮和規定將在時間觸發。

要喚醒您的設備使用此,

alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, mInterval, pendingIntent); 

其他使用這個,如果你不希望喚醒設備

alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerTime, mInterval, pendingIntent); 
+0

我嘗試兩個不工作我的需要。謝謝蝙蝠貓。 – Joyofio987

+0

一種瘋狂的報警管理器。多年來,我似乎有這個問題。 Android團隊仍然沒有關注它。 – Joyofio987

+0

報警管理器不可靠! – Joyofio987