2013-03-07 112 views
0

我已經嘗試了很多次,但沒有任何結果。無法使用AlarmManager設置鬧鐘

這是應設置鬧鐘的類的代碼,但在指定的時間和日期沒有任何事情發生。

package com.beppe.reminder; 

import java.util.Calendar; 
import java.util.Date; 
import android.app.AlarmManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.provider.AlarmClock; 

public class ReminderManager { 

private Context mCtx; 
private AlarmManager alarm; 



public ReminderManager(Context Ctx){ 
    mCtx=Ctx; 

} 


public void setAlarm(Date d, long taskID){ 

    alarm=(AlarmManager) mCtx.getSystemService(Context.ALARM_SERVICE); 

    Intent intent=new Intent(mCtx, OnAlarm.class); 
    intent.putExtra(DBAdapter.KEY_ROWID, taskID); 

    PendingIntent pi=PendingIntent.getBroadcast(mCtx, 0, intent, PendingIntent.FLAG_ONE_SHOT); 

    Calendar cal = Calendar.getInstance(); 
    cal.setTimeInMillis(System.currentTimeMillis()); 
    cal.clear(); 
    cal.set(d.getYear()+1900,d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); 


    alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pi); 
} 

} 

d.getYear()+1900該生產線是因爲Date類返回一年1900

我試圖打印日期和時間,他們似乎是正確的(當月是正確從零開始INT)。

如果警報設置正確,我可以看到它嗎?

+0

可能,這將幫助你 http://stackoverflow.com/questions/6001548/how-to-set-phones-alarm-from-program-code-in-android – 2013-03-07 10:56:25

回答

2
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);     

       //---get current date and time--- 
       Calendar calendar = Calendar.getInstance();  

       //---sets the time for the alarm to trigger--- 
       calendar.set(Calendar.YEAR, datePicker.getYear()); 
       calendar.set(Calendar.MONTH, datePicker.getMonth()); 
       calendar.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());     
       calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour()); 
       calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute()); 
       calendar.set(Calendar.SECOND, 0); 

       //---PendingIntent to launch activity when the alarm triggers---      
       Intent i = new Intent("net.learn2develop.DisplayNotification"); 

       //---assign an ID of 1--- 
       i.putExtra("NotifID", 1);         

       PendingIntent displayIntent = PendingIntent.getActivity(
        getBaseContext(), 0, i, 0);    

       //---sets the alarm to trigger--- 
       alarmManager.set(AlarmManager.RTC_WAKEUP, 
        calendar.getTimeInMillis(), displayIntent); 
      } 

請參閱此鏈接。 http://mobiforge.com/developing/story/displaying-status-bar-notifications-android

+0

但代碼它與我的相似。什麼是錯誤? – user2135833 2013-03-07 13:41:14

+0

請問你可以參考這個鏈接..它的工作 – 2013-03-07 13:42:04

相關問題