如何使用sqlite数据设置多个警报?
how to set multiple alarms using sqlite data?
我是 android 的新手,我正在为我的工作知识开发一个闹钟应用程序。
我已完成以下内容:
- 创建警报并将其存储到 sqlite 数据库中。
- 正在获取所有状态为活动的警报。
我已经尝试了很多 Whosebug post 和他们的解决方案以及其他博客 posts 这与我的疑问有关,但我无法找到解决我的问题的方法。
我的问题是我从我之前设置的 sqlite 数据库中收到了多个闹钟时间,我想在存储的时间设置所有闹钟。
这里不知道怎么设置。
谁能帮我设置多个闹钟。
我真的很想找人帮助学习和体验这些东西,请帮助我。
谢谢。
您还需要警报管理器和待定意图。
for (int i = 0; i < ActivemyAlarms.size(); i++) {
int mHour = 0,mMin=0;
String amPm = null;
int mAlarmId = ActivemyAlarms.get(i).getALARM_ID(); //each alarm has an unique Id ,for differentiate one from another
String mAlarmTime = ActivemyAlarms.get(i).getALARM_TIME(); // alarm time (11:12:AM)
if (!(mAlarmTime == null)) {
String mtime = mAlarmTime; // alarm time format is 12hr format (ex : 11:12:AM)
String[] time = mtime.split(":");
mHour = Integer.parseInt(time[0].trim()); // get 11 hour
mMin = Integer.parseInt(time[1].trim()); // get 12 min
amPm = ((time[2].trim()));
}
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, amPm!=null && amPm.equalsIgnoreCase("pm")?(mHour+12):mHour);
calendar.set(calendar.MINUTE, mMin);
calendar.set(calendar.SECOND, 0);
calendar.set(calendar.MILLISECOND, 0);
Intent intent = new Intent(this,AlarmReceiver.class); //calling my Alarm service class which plays a music on the specific time
final int _id = (int) System.currentTimeMillis(); // get calendar instance
//Use Alarm manager and Pending Intent
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, mAlarmId, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmIntent);
}
并取消任何警报调用 alarmManager.cancel(PendingIntent),例如;
Intent intent = new Intent(this,AlarmReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, mAlarmId, intent, 0);
alarmManager.cancel(alarmIntent);
我是 android 的新手,我正在为我的工作知识开发一个闹钟应用程序。
我已完成以下内容:
- 创建警报并将其存储到 sqlite 数据库中。
- 正在获取所有状态为活动的警报。
我已经尝试了很多 Whosebug post 和他们的解决方案以及其他博客 posts 这与我的疑问有关,但我无法找到解决我的问题的方法。
我的问题是我从我之前设置的 sqlite 数据库中收到了多个闹钟时间,我想在存储的时间设置所有闹钟。
这里不知道怎么设置。
谁能帮我设置多个闹钟。
我真的很想找人帮助学习和体验这些东西,请帮助我。
谢谢。
您还需要警报管理器和待定意图。
for (int i = 0; i < ActivemyAlarms.size(); i++) {
int mHour = 0,mMin=0;
String amPm = null;
int mAlarmId = ActivemyAlarms.get(i).getALARM_ID(); //each alarm has an unique Id ,for differentiate one from another
String mAlarmTime = ActivemyAlarms.get(i).getALARM_TIME(); // alarm time (11:12:AM)
if (!(mAlarmTime == null)) {
String mtime = mAlarmTime; // alarm time format is 12hr format (ex : 11:12:AM)
String[] time = mtime.split(":");
mHour = Integer.parseInt(time[0].trim()); // get 11 hour
mMin = Integer.parseInt(time[1].trim()); // get 12 min
amPm = ((time[2].trim()));
}
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, amPm!=null && amPm.equalsIgnoreCase("pm")?(mHour+12):mHour);
calendar.set(calendar.MINUTE, mMin);
calendar.set(calendar.SECOND, 0);
calendar.set(calendar.MILLISECOND, 0);
Intent intent = new Intent(this,AlarmReceiver.class); //calling my Alarm service class which plays a music on the specific time
final int _id = (int) System.currentTimeMillis(); // get calendar instance
//Use Alarm manager and Pending Intent
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, mAlarmId, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmIntent);
}
并取消任何警报调用 alarmManager.cancel(PendingIntent),例如;
Intent intent = new Intent(this,AlarmReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, mAlarmId, intent, 0);
alarmManager.cancel(alarmIntent);