#android
#Android
Вопрос:
Когда пользователи вводят дату и время, он затем помещает их в alarm manager
public Manager(Context context){
mContext = context;
tolarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}
public void setSilent(Long id, Calendar when){
Intent go = new Intent(mContext, someclass.class);
PendingIntent golow = PendingIntent.getBroadcast(mContext, 0 , i, PendingIntent.FLAG_ONE_SHOT);
toAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), golow);
когда будильник установлен, как мне удалить его из будильника, если я больше не хочу будильник?
Ответ №1:
int RC = alarmRequestCode; // your request code is 0
Intent intentAlarm = new Intent(context, AlarmReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(context, RC, intentAlarm, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
alarmManager.cancel(sender);
Ответ №2:
Вы делаете
toAlarmManager.cancel(golow);
который удаляет любые сигналы тревоги с соответствующим намерением.
Комментарии:
1. Могу ли я в любом случае сделать это из удаленного файла… скажем, что приведенный выше код находится в text.java и я хочу удалить сигнал тревоги изнутри test1.java , когда я пытаюсь протестировать. mAlarmManager.cancel(test.golow); или test. mAlarmManager.cancel (golow); это не работает, он не может найти golow
2. Вы должны иметь возможность просто воссоздать toAlarmManager и golow в новом классе. В качестве альтернативы, вы могли бы объявить их как
public
переменные в test.java и ссылайтесь на них таким образом.