Как я могу реализовать будильник, чтобы открыть экран увольнения/повтора после того, как приложение будет уничтожено? Моя тревога отлично работает до тех пор, как приложение остается вверх, вот как я планировать тревогу:Тревога не исчезает, когда приложение убито
//instantiate calendar to call alarm on time match
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());
//if time is set earlier than current (e.g set for 6:59pm, currently 7pm), do not play until next clock cycle/day
if(calendar.before(Calendar.getInstance())) {
calendar.add(Calendar.DATE, 1);
}
//cancel any currently pending intents if toggle button is toggled on
Intent myIntent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT).cancel();
//add parameters to pass to activities that play the alarm
myIntent.putExtra("stream",stream);
myIntent.putExtra("seconds",snoozeSeconds);
myIntent.putExtra("link",ytLink);
//create pending intent to broadcast to activity that plays the alarm
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, 0);
alarmManager.setExact(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
И я использую приемник, который довольно прост:
public class AlarmReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
//....
MainActivity.ringtone.play();
Intent alarmIntent = new Intent(context, AlarmActivity.class);
context.startActivity(alarmIntent); //start dismiss screen
Может быть, вы пишете в своей деятельности OnDestroy() что-нибудь вроде '.ringtone.stop()'? – Urma
Я бы предположил, что вызов 'MainActivity.ringtone.play()' бросает исключение. Проверьте свой логарифм. Кроме того, для запуска 'Activity' в параметре' Context' получателя требуется 'Intent.FLAG_ACTIVITY_NEW_TASK'. –