【问题标题】:AlarmManager doesn't fire alarm at the corresponding timeAlarmManager 不会在相应的时间发出警报
【发布时间】:2014-11-02 10:33:10
【问题描述】:

你能帮我理解为什么我的闹钟不会响吗:
我正在尝试注册一个挂起的意图,以便在 12:22(现在的当前时间)触发警报,但问题是警报不会触发。我尝试用硬编码时间替换 calendar.getTimeInMilies() 中的毫秒:10 000 英里(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()));

我在 Manifest 中也设置了以下权限

    android:name="android.permission.WAKE_LOCK"

还有输出:

    Time format is :02/11/2014 12:22:00

【问题讨论】:

    标签: android calendar alarmmanager android-pendingintent


    【解决方案1】:

    尝试使用 getBroadcast 方法而不是 getActivity:

    PendingIntent register =PendingIntent.getBroadcast(MainActivity.this, 0, intent,0);
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      相关资源
      最近更新 更多