[英]AlarmManager doesn't fire alarm at the corresponding time
您能否請我幫助我理解為什么我的警報不會觸發:
我正在嘗試注冊一個有意向的對象,以在12:22(現在是當前時間)觸發警報,但是問題是警報不會觸發。 我嘗試用硬編碼的時間替換calendar.getTimeInMilies()中的毫秒:10000毫秒(10秒); 甚至沒有奏效。
AlarmManager alarm_manager =(AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
calendar = Calendar.getInstance();
Intent intent = new Intent(MainActivity.this , AlarmManagerHelper.class);
PendingIntent register =PendingIntent.getActivity(getBaseContext(), 0, intent,0);
calendar.set(Calendar.YEAR,2014);
calendar.set(Calendar.MONTH, 10);
calendar.set(Calendar.DAY_OF_MONTH, 2);
calendar.set(Calendar.HOUR_OF_DAY,12);
calendar.set(Calendar.MINUTE,22);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);
alarm_manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), register);
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
Log.d(TAG ,"Time format is :" +formatter.format(calendar.getTime()));
我在清單中也設置了以下權限
android:name="android.permission.WAKE_LOCK"
和輸出:
Time format is :02/11/2014 12:22:00
嘗試使用getBroadcast方法代替getActivity:
PendingIntent register =PendingIntent.getBroadcast(MainActivity.this, 0, intent,0);
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.