0
我有一個應用程序執行一些數據處理,然後通知用戶在狀態欄中是否有任何新項目被發現。該過程在設定的時間內作爲AlarmManager運行。一切工作正常,但我最好不喜歡在積極使用應用程序時通知用戶,這意味着AlarmManager應該基本上被暫停。我能想到的是不斷啓動的唯一解決方案/停止在主要活動的方法的onResume報警與此類似:AlarmManger經常啓動和停止,壞習慣?
@Override
public void onResume()
{
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Intent myIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);
alarmManager.cancel(pendingIntent);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 600000, 600000, pendingIntent);
}
這是不是萬無一失的,但最好的解決方案,我能想到的。只是想知道這是不好的做法還是有更好的解決方案?謝謝。