我已經嘗試了很多次,但沒有任何結果。無法使用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)。
如果警報設置正確,我可以看到它嗎?
可能,這將幫助你 http://stackoverflow.com/questions/6001548/how-to-set-phones-alarm-from-program-code-in-android – 2013-03-07 10:56:25