当前位置:  开发笔记 > 编程语言 > 正文

AlarmManager.AlarmClockInfo的PendingIntent如何工作?

如何解决《AlarmManager.AlarmClockInfo的PendingIntent如何工作?》经验,为你挑选了1个好方法。

我想用来AlarmManager.AlarmClockInfo设置闹钟.

这个构造函数需要时间和PendingIntent文档中描述的时间和:

可用于显示或编辑闹钟细节的意图.

然后setAlarmClock( )还接受一个待定的意图,在文档中描述为:

警报响起时执行的操作

据我所知,使用的PendingIntent通过setAlarmClock( ),然而,又是怎样PendingIntent使用的AlarmClockInfo?如何用它来编辑闹钟的细节?



1> CommonsWare..:

但是,如何使用AlarmClockInfo使用的PendingIntent以及如何使用它来编辑闹钟的详细信息?

引用自己的这本书:

最大的问题setAlarmClock()是它对用户可见:

用户将在其状态栏中看到闹钟图标,就好像他们已使用其设备的内置闹钟应用设置了闹钟

当用户完全滑开其通知阴影时,用户将看到警报的时间

通知阴影,显示即将到来的警报

点击通知阴影中的闹钟时间将调用PendingIntent您放入AlarmClockInfo对象的闹钟时间

所以,鉴于此代码...:

  static void scheduleAlarms(Context ctxt) {
    AlarmManager mgr=
      (AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
    Intent i=new Intent(ctxt, PollReceiver.class);
    PendingIntent pi=PendingIntent.getBroadcast(ctxt, 0, i, 0);
    Intent i2=new Intent(ctxt, EventDemoActivity.class);
    PendingIntent pi2=PendingIntent.getActivity(ctxt, 0, i2, 0);

    AlarmManager.AlarmClockInfo ac=
      new AlarmManager.AlarmClockInfo(System.currentTimeMillis()+PERIOD,
        pi2);

    mgr.setAlarmClock(ac, pi);
  }

(来自这个示例项目)

...当用户点击通知阴影中的时间时,EventDemoActivity将出现.这个想法是你应该在这里提供一个活动,允许用户取消或重新安排此警报.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有