我有一个创建重复闹钟的活动(设置闹钟),我需要从另一个活动取消该闹钟(取消闹钟)。我无法取消闹钟。我做错了什么?:
public class settingalarm...
am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent alrm = new Intent(context, z.class);
alrm.setAction(ALARM);
alrm.putExtra(x, x);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, alrm, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, 0, 30000, alarmIntent);
我有另一个需要取消现有警报的活动:
public class cancelingalarm...
am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent alrm = new Intent(context, z.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, alrm, 0);
am.cancel(alarmIntent);
提前致谢!
答案 0 :(得分:2)
您需要为您创建的Intent
使用等效的PendingIntent
。在这意味着设置相同的动作。顺便说一句,因为您使用的是显式Intent(指定类名),所以实际上也不需要添加操作。
简而言之:要么删除alrm.setAction(ALARM);
,要么在两个地方都使用它。
答案 1 :(得分:0)
我正在制作Global& amp;为我工作: -
private Intent alrm;
alrm = new Intent(context, z.class);