2011-11-14 13 views
7

Stworzyłem prostą aplikację alarmową. To działa dobrze, ale jeśli zmienić czas urządzenia ręcznie wtedy mój alarm nie działa ....Menedżer alarmów w Androidzie

To jest mój kod:

Calendar = Calendar.getInstance(); 
    //c.add(Calendar.DAY_OF_WEEK,1); 
    c.set(Calendar.HOUR_OF_DAY,15); 
    c.set(Calendar.MINUTE, 00); 
    c.set(Calendar.SECOND, 00); 
    c.set(Calendar.MILLISECOND, 0); 

    Intent intent = new Intent(HomeActivity.this, MyAlarmService.class); 
    pendingIntent = PendingIntent.getService(HomeActivity.this, 0, intent, 0); 
    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
    alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, c.getTimeInMillis(), pendingIntent); 

Czy jest jakaś sugestia?

+0

robi Czy praca oznacza co się dzieje? –

+0

Hi @PareshMayani: Jeśli ustawię budzik na 5 po południu, a następnie ręcznie ustawię czas mojego urządzenia na 5 pm, alarm nie zadziałał. – Piyush

+5

To nie zadziała, musisz dodać odbiornik, aby ustawić alarm ponownie. Data i strefa czasowa zmienią się, a alarm zostanie skasowany, użyj tego Maneesh

Odpowiedz

7

[Dodawanie odpowiedź z komentarzem tutaj]

Trzeba dodać odbiornik ustawić alarm again..on data i zmiana strefy czasowej wówczas alarm został zresetowany więc skorzystać z tej

<receiver android:name=".AlarmInitReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.TIME_SET" /> <action android:name="android.intent.action.TIMEZONE_CHANGED" /> 
</intent-filter> 
</receiver> 
+0

+1 Działa. Dzięki. – Sajmon

Powiązane problemy