Создан новый класс Java, где пытаются реализовать метод класса AlarmManager
.Я хочу создать функциональность для создания, редактирования и удаления сигналов тревоги.Все работало нормально, пока весь код находился в MainActivity
классе.
В новом классе есть конструктор, в который передается контекст.При успешной сборке приложения сигнал тревоги не работает.
Я вызываю метод setShowDataEvent для MainActivity:
AlarmController alarmController = new AlarmController(this);
alarmController.setShowDataEvent(startTime, finishTime);
Вот класс AlarmController:
private final String TAG = "AlarmController";
Context context;
PendingIntent pendingIntent;
AlarmManager mAlarmManager;
public AlarmController(Context context){
this.context = context;
this.mAlarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
}
public void setShowDataEvent(long startTime, long finishTime){
newAlarmIntentData(startTime);
mAlarmManager.setExact(AlarmManager.RTC, startTime, pendingIntent);
newAlarmIntentData(finishTime);
mAlarmManager.setExact(AlarmManager.RTC, finishTime, pendingIntent);
Log.d(TAG, "setShowDataEvent has been executed");
}
private void newAlarmIntentData(long time){
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("showData", true);
intent.putExtra("time", time);
pendingIntent = PendingIntent.getBroadcast(context, 1, intent, PendingIntent.FLAG_ONE_SHOT);
}