0
新手,我有這個功能setAlarm
:的onReceive()在這裏稱爲
public void setAlarm(){
SharedPreferences sa=PreferenceManager.getDefaultSharedPreferences(getBaseContext());
int hr=sa.getInt("alarmhour", 6);
int mn=sa.getInt("alarmminute", 0);
String st1=sa.getString("alarmstatus", "Alarm Disabled");
if(st1.equals("Alarm Enabled"))
{
AlarmManager ala = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent inte = new Intent(this, epicalarm.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, inte, 0);
Calendar time = Calendar.getInstance();
time.set(Calendar.HOUR_OF_DAY, hr);
time.set(Calendar.MINUTE, mn);
time.set(Calendar.SECOND, 0);
ala.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), pi);
}
}
我每次調用該函數setAlarm
,該onReceive
方法被調用並顯示報警。爲什麼?
是的,這是真的,它只發生在時間已經過去了,我不能停止嗎? – AcidBurn
不,我不這麼認爲。你爲什麼要設置鬧鐘已經過去了? –
假設當前時間是11:00,並且用戶想要設置爲10:00,我希望第二天觸發警報,而不是立即觸發警報... – AcidBurn