Android AlarmManager-如何知道是否安排了某些内容
我正在构建一个应用程序,它使用Android AlarmManager-如何知道是否安排了某些内容,android,widget,alarmmanager,Android,Widget,Alarmmanager,我正在构建一个应用程序,它使用AlarmManager根据用户请求,计划在以后关闭wifi和bt 这很有效。我的下一步是允许用户取消 PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0); 当然,活动可能会被杀死。想象一下这样的情景: 用户在30分钟后设置警报 用户将手机置于睡眠状态,活动被终止 用户拿起手机,再次打开应用程序以取消请求 在新创建的活动中,我如何知道我安排了什么 另外,我想为这个应用
AlarmManager
根据用户请求,计划在以后关闭wifi和bt
这很有效。我的下一步是允许用户取消
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
当然,活动可能会被杀死。想象一下这样的情景:
int type = AlarmManager.ELAPSED_REALTIME_WAKEUP; // wake up CPU after said time
long delay = SystemClock.elapsedRealtime() + minutes * 60 * 1000;
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// Need to use this method, otherwise Doze is killing us
manager.setExactAndAllowWhileIdle(type, delay, alarmIntent);
}
else {
manager.setExact(type, delay, alarmIntent);
}
你可以取消任何这样的警报- 获取与要取消的报警关联的挂起意图
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
那就取消吧
AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
manager.cancel(alarmIntent);