2011-11-14 117 views
7

我已經創建了簡單的鬧鐘應用程序。它工作正常,但是,如果我改變的時間裝置的手動然後我的報警器不工作....android中的鬧鐘管理器

這是我的代碼:

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); 

有什麼建議嗎?

+0

隱而不宣不工作意味着發生了什麼? –

+0

嗨@PareshMayani:如果我將鬧鐘設置爲下午5點,並且我手動將設備的時間設置爲下午5點,則鬧鐘不起作用。 – Piyush

+5

它不會工作,你需要添加一個接收器來設置鬧鐘..在日期和時區變化,然後鬧鐘得到重置,所以使用這個 Maneesh

回答

7

[從評論添加答案在這裏]

您需要添加一個接收器設置報警again..on日期和時區的變化,然後報警有這麼重置使用此

<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它的工作原理。謝謝。 – Sajmon