Я пытаюсь проверить alarmmanager, и я могу заставить его работать. Через BroadcastReceiver я запускаю службу для создания уведомления. Мне удалось это сделать с помощью материалов, которые я нашел здесь. Проблема, с которой я столкнулся сейчас, и заставила меня застрять в течение дня, отменяет повторяющийся сигнал тревоги, который я создал. Он только сказал, что он должен соответствовать ожидающему ожиданию, который использовался для его создания, и я также жестко закодировал идентификатор, чтобы убедиться, что они совпадают. Для неподготовленного глаза, подобного моему, я не вижу разницы с примерами, которые я читал здесь, но я надеюсь, что вы поможете мне найти то, что мне нужно изменить.Android cancel alarmmanager
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import java.util.Calendar;
public class CreateNotificationActivity extends Activity {
private PendingIntent pendingIntent;
private static AlarmManager alarmManager;
private Intent myIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(alarmManager == null){
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
}
myIntent = new Intent(this , Receiver.class);
}
public void createNotification(View view) {
pendingIntent = PendingIntent.getBroadcast(this, 1, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000, pendingIntent);
}
public void cancelNotification(View view) {
pendingIntent = PendingIntent.getBroadcast(this, 1, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
pendingIntent.cancel();
}
}
Как отменить будильник, который я создал? и есть ли способ отменить все тревоги без идентификатора?