2016-10-29 3 views
-1

Wenn der Benutzer MainActivity eingibt, wird der Alarm mit dem folgenden Code in einem Intervall von 43200000 Millisekunden eingestellt. Außerdem werden vorherige Alarme entfernt.Der Alarm wird häufiger als die angegebene Zeit eingestellt.

int interval =43200000; 
Intent alarmIntent = new Intent(this, AlarmReceiver.class); 
pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0); 
manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
manager.cancel(pendingIntent); 
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent); 
setContentView(R.layout.activity_main); 

Problem ist ich immer eine Benachrichtigung oder Alarm nach jeweils 2 Minuten ich die app

+0

Was möchten Sie erreichen? – Vyacheslav

+0

Möchten Sie keine Benachrichtigung in 2 Minuten auslösen? – Vyacheslav

+0

nach jeder 43200000 Millisekunde – phpdroid

Antwort

0

öffnen gefeuert wird würde ich dieses verwenden vorschlagen: manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + interval, interval, pendingIntent); zweite Parameter:

triggerAtMillis long: Zeit in Millisekunden, in der der Alarm zuerst ausgelöst werden soll, mit der entsprechenden Uhr (abhängig vom Alarmtyp).

manual

oder besser:

am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP:AlarmManager.RTC, nexttime, pi);

, die jedes Mal auf broadcastreceiver erneut gebrannt wird gestartet und jeden Start (Startgerät) Ereignis.

43.200.000 beträgt 12 Stunden;) nicht vergessen Futhermore, für jede Millisekunden lang Typ verwenden Variable: long interval = 43200000L;, um einige Fehler zu verhindern.

Verwandte Themen