Android AlarmClock() , 设置闹钟日期
Android AlarmClock() , setting alarm date
我在将特定日期设置为 AlarmClock() 而不是 AlarmManager() 时遇到问题。我在 Internet 上看到的所有示例都显示使用 AlarmManager() 在特定日期启动 activity。但是我的应用程序没有/需要自定义 activity。我只需要在特定日期注册一个系统警报,它会像通用 android 系统警报一样响起。
Calendar c = Calendar.getInstance();
Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "Polo!");
alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, c.get(Calendar.HOUR_OF_DAY));
alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, c.get(Calendar.MINUTE) + 1);
context.startActivity(alarmIntent);
以上是我的代码。我尝试使用
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, c.get(Calendar.DAY_OF_MONTH));
但只需要当天。
请帮助我在特定日期使用 AlarmClock() 设置闹钟。
调用 Calendar.getInstance()
将 return 一个用当前日期初始化的 Calendar
对象。您需要将 Calendar
对象设置为所需的日期,然后访问其字段,例如:
c.set(Calendar.DAY_OF_MONTH, 30)
那么当你打电话时
c.get(Calendar.DAY_OF_MONTH)
它 return 是 30。否则,它 return 是当前日期。
来自文档:
EXTRA_DAYS (optional): Weekdays for repeating alarm.
所以实际上,AlarmClock.EXTRA_DAYS 是指一周中闹钟应该响起的那几天,所以您无法为闹钟设置确切的日期。用法示例:
ArrayList<Integer> days = new ArrayList<Integer>();
days.add(Calendar.SATURDAY);
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, days);
我在将特定日期设置为 AlarmClock() 而不是 AlarmManager() 时遇到问题。我在 Internet 上看到的所有示例都显示使用 AlarmManager() 在特定日期启动 activity。但是我的应用程序没有/需要自定义 activity。我只需要在特定日期注册一个系统警报,它会像通用 android 系统警报一样响起。
Calendar c = Calendar.getInstance();
Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "Polo!");
alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, c.get(Calendar.HOUR_OF_DAY));
alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, c.get(Calendar.MINUTE) + 1);
context.startActivity(alarmIntent);
以上是我的代码。我尝试使用
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, c.get(Calendar.DAY_OF_MONTH));
但只需要当天。
请帮助我在特定日期使用 AlarmClock() 设置闹钟。
调用 Calendar.getInstance()
将 return 一个用当前日期初始化的 Calendar
对象。您需要将 Calendar
对象设置为所需的日期,然后访问其字段,例如:
c.set(Calendar.DAY_OF_MONTH, 30)
那么当你打电话时
c.get(Calendar.DAY_OF_MONTH)
它 return 是 30。否则,它 return 是当前日期。
来自文档:
EXTRA_DAYS (optional): Weekdays for repeating alarm.
所以实际上,AlarmClock.EXTRA_DAYS 是指一周中闹钟应该响起的那几天,所以您无法为闹钟设置确切的日期。用法示例:
ArrayList<Integer> days = new ArrayList<Integer>();
days.add(Calendar.SATURDAY);
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, days);