2010-10-19 129 views
1

我想添加一個報警,所以我用下面的代碼:Android AlarmManager設置功能不起作用?

public void SetAlarm(Alarm alarm) 
{ 
    mTimeTarget = PendingIntent.getBroadcast(mContext, alarm.getRowID(), 
      new Intent(HomeScreen.ACTION_CHECK_TIME_ALARMS), PendingIntent.FLAG_UPDATE_CURRENT); 
    mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, alarm.getAlarmTime().toMillis(true), mTimeTarget); 
} 

但這似乎並沒有工作。 (我試圖在模擬器上,當時間到達 時,什麼都沒有發生 - 我的類onReceive函數擴展BroadcastReceiver沒有被調用)。

這裏是我的構造函數初始化mAlarmManager(這是私人,因爲這個類是單例):

private AlarmsManager(Context con) 
{ 
    mContext = con; 

    mAlarmManager = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE); 
} 

任何想法,我做錯了什麼? 謝謝!

回答

1

也許alarm.getAlarmTime().toMillis(true)不在SystemClock.elapsedRealtime()的時基。如果getAlarmTime()返回android.text.format.Time對象,這肯定是不正確的。

+0

我設法解決這個問題!正如你所說,問題出在那個時候。非常感謝你!!! – Roee 2010-10-21 15:07:56