Mam odbiornik boot_completed, który zostanie powiadomiony podczas rozruchu.Odbiornik transmisji onReceive() jest wywoływany wiele razy
<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Ale wydaje się, że zostanie wywołany wiele razy. Zaczynam timer, a następnie usługę, która prowadzi do wielu timerów, a następnie usługa zostaje zresetowana i działa ponownie.
Tworzenie timera w ten sposób. To nie jest powtarzalnym timer, to jest ?:
private void setAlarm(Context context, long interval) {
try {
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(RespondAlarmReceiver.ACTION_RESPOND_SMS);
intent.putExtra("isChecking", true);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long triggerAtTime = SystemClock.elapsedRealtime() + interval; //interval is 60,000
alarms.set(alarmType, triggerAtTime, alarmIntent);
}
catch (Exception e) {
Log.e(DEBUG_TAG, "Unable to set alarm");
}
Na marginesie, jeśli ktoś wie, jak dołączyć debugera Eclipse do odbiornika transmisji rozruchowym lub do przebiegu, to byłoby fantastyczne.
przypadkiem Ci rozwiązać ten? –