Я решил проблему, заменив PendingIntent.getActivity()
на PendingIntent.getBroadcast()
при создании PendingIntent
, который будет вызван AlarmManager
.Вот код:
private PendingIntent getNotifyIntent() {
Intent notifyIntent = new Intent(mContext, MyBroadcastReceiver.class);
return PendingIntent.getBroadcast(mContext, 0, notifyIntent, 0);
}
Я уже использовал этот код раньше (PendingIntent.getActivity()
), но я никогда не видел, чтобы приложение появлялось на экране раньше.Упражнение, которое я использовал, было полностью прозрачным и невидимым, оно не отображало макет на экране.Я использовал его, потому что по какой-то причине использование Broadcast не работало.Но теперь, когда приложение открывалось, я предполагаю, что это произошло потому, что открытое прозрачное действие проверило бы, что должно быть сделано и закрыто, вызвав это действие до того, как оно отобразится на экране.
Возобновление: проблемане сам сервис, а то, как я настраивал AlarmManager
Tank u All с помощью!