报警管理器日历

时间:2012-12-11 21:47:39

标签: java android alarmmanager android-calendar

关于警报管理员的问题 我有这个代码

Calendar cal = Calendar.getInstance();
    cal.add(Calendar.SECOND, 5);
     Integer prof=t.getProfile();
    String prof2=prof.toString();
    Intent intent = new Intent(this, AlarmActivity.class);
    intent.putExtra("prof",(String)prof2);
    PendingIntent pendingIntent = PendingIntent.getActivity(this,(int)t.getId(), intent, PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager am =
            (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
            pendingIntent);

尚未完成...... 我知道我可以用cal.set设置日历的时间(Calendar.MINUTES,分钟);几个小时相同..

但我怎么设定一天?例如 - 星期一? day_of_week设置了吗?如果是这样 - 范围是0-6还是1-7?最低值是星期一还是星期日?

另外,如果我要进行重复活动(每周一次) - 我应该制作新日历并设置星期几/小时/分钟吗?或者我应该使用getInstance()并更改一小时/分钟/星期几?

关于闹钟管理器。当你发出警报时,你给request_code 应该是unq。如果我重新启动手机 - 所有请求代码都会保留 在电话报警管理器?如果不是 - 如何让他们留下......如果是 - 如何在测试时删除不需要的内容?

2 个答案:

答案 0 :(得分:0)

可以找到如何设置日历的示例here。此外,Android开发人员API显示了有关如何设置日期的多种方法

答案 1 :(得分:0)

您也可以使用:

cal.add(Calendar.DATE, 7) 

将日历时间设置为当前日历设置的一周(并减去依此类推)。

我认为这里可能需要链接到文档:

http://developer.android.com/reference/java/util/Calendar.html

关于你的第二个问题,没有警报管理器不会继续手机重启,你必须将它们保存在共享的prefs或SQL中,然后在下次手机(和你的应用程序)重新启动时重新加载警报......

要取消闹钟,请使用alarm.cancel(pendingIntent)。您需要自己跟踪的pendingIntents。