Android取消挂起的意图不起作用
我面临着一个非常奇怪的问题。我已经做了一个工作报警系统。但当我删除警报时,它会调用它 AlarmBuddy.java(用于设置原始报警的工作类) java漏洞 此功能用于取消报警。再说一遍,这有点问题:Android取消挂起的意图不起作用,android,android-pendingintent,Android,Android Pendingintent,我面临着一个非常奇怪的问题。我已经做了一个工作报警系统。但当我删除警报时,它会调用它 AlarmBuddy.java(用于设置原始报警的工作类) java漏洞 此功能用于取消报警。再说一遍,这有点问题: 该代码可以设置并调用警报。但当我从另一个类中删除它时,它会立即发出警报。也许我只是个傻瓜。或者这可能是一个无法解决的问题。在我的应用程序中,这对我来说根本不起作用 在我的应用程序中,这对我来说非常有用 要取消报警,您需要使用与设置报警相同的pendingent。您还应该告诉AlarmManage
该代码可以设置并调用警报。但当我从另一个类中删除它时,它会立即发出警报。也许我只是个傻瓜。或者这可能是一个无法解决的问题。在我的应用程序中,这对我来说根本不起作用
在我的应用程序中,这对我来说非常有用
要取消报警,您需要使用与设置报警相同的
pendingent
。您还应该告诉AlarmManager
取消报警以及取消PendingEvent
。试试这个:
public Boolean cancelAlarm(int id) {
Intent myIntent = new Intent(context, AlarmMiddle.class);
PendingIntent pending_intent = PendingIntent.getBroadcast(context, id, myIntent,
PendingIntent.FLAG_NO_CREATE);
if (pending_intent != null) {
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(pending_intent);
pending_intent.cancel();
}
return false;
}
要取消报警,您需要使用与设置报警相同的
pendingent
。您还应该告诉AlarmManager
取消报警以及取消PendingEvent
。试试这个:
public Boolean cancelAlarm(int id) {
Intent myIntent = new Intent(context, AlarmMiddle.class);
PendingIntent pending_intent = PendingIntent.getBroadcast(context, id, myIntent,
PendingIntent.FLAG_NO_CREATE);
if (pending_intent != null) {
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(pending_intent);
pending_intent.cancel();
}
return false;
}
你好,尼克·索尼。谢谢,奇怪的错误消失了。但警报现在并没有解除。停!你好,尼克·索尼。谢谢,奇怪的错误消失了。但警报现在并没有解除。停!
Intent intent = new Intent(getBaseContext(), Your_Service.class);
PendingIntent pendingIntent = PendingIntent.getService(getBaseContext(), reqcode, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
public Boolean cancelAlarm(int id) {
Intent myIntent = new Intent(context, AlarmMiddle.class);
PendingIntent pending_intent = PendingIntent.getBroadcast(context, id, myIntent,
PendingIntent.FLAG_NO_CREATE);
if (pending_intent != null) {
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(pending_intent);
pending_intent.cancel();
}
return false;
}