0

반복 알람을 생성하는 활동 (설정 알람)이 있는데, 다른 활동에서 해당 알람을 취소해야합니다 (알람 취소). 나는 경보를 취소 할 수 없다. 내가 잘못 뭐하는 거지?AlarmManager not set my setRepeating Alarm을 취소합니다.

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

, [http://stackoverflow.com/questions/3330522/how-to-cancel-this-repeating-alarm][1] [가이 링크를 시도하고 코드 적용 1] : http://stackoverflow.com/questions/3330522/how-to-cancel-this-repeating-alarm –

답변

2

당신은 PendingIntent 작성을 위해 동등한 Intent를 사용해야합니다. 이 말은 동일한 행동을 취하는 것을 의미합니다. BTW, 명시 적 인 텐트 (클래스 이름 지정)를 사용하고 있으므로 실제로 액션을 추가 할 필요가 없습니다.

요약하면 alrm.setAction(ALARM);을 제거하거나 두 곳에서 사용하십시오.

+0

감사합니다. 선생님! 이해가 되네요, 나는 cancelalarm 활동에'alrm.setAction (ALARM);'을 추가해야했습니다. – thedeepfield

0

나를 위해 일하는 의도 글로벌 &을 만드는 중이라서 : -

private Intent alrm; 


alrm = new Intent(context, z.class);