如果该应用被终止或从最近的应用中删除,则AlarmManager不起作用

时间:2019-09-03 12:48:32

标签: android android-intent android-service alarmmanager

我有一个带AlarmManager的Android服务来安排任务。就我而言,我的应用程序将在指定时间播放音乐。该应用程序在屏幕上或在后台运行时可以正常运行。但是,当我通过在指定时间之前向上滑动将其从最近的应用程序中删除时,该应用程序将无法播放音乐。我已经尝试了许多在线解决方案,例如添加android:process=":remote",但都没有用。这是我的代码:
AndroidManifest.xml中:

<receiver android:name=".controller.utils.AlarmReceiver"/>

<service android:name=".controller.utils.RingtonePlayingService"
         android:enabled="true"/>

OnCreate()的{​​{1}}中:

MainActivity

AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 22); calendar.set(Calendar.MINUTE, 25); alarmMgr.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 中:

AlarmReceiver

@Override public void onReceive(Context context, Intent intent) { Log.i("We are in the receiver.","Yeah!"); // Create an Intent to the ringtone service Intent ringtoneIntent = new Intent(context, RingtonePlayingService.class); // Start the ringtone service context.startForegroundService(ringtoneIntent); } 中:

RingtonePlayingService

我的情况是,如果我什么都不做,只是将应用程序留在后台,那么它将在22:25播放音乐;但是,如果我在22:25之前向上滑动以关闭我的应用程序,则该应用程序此时将不会响铃。我该如何解决?
ps。我在Google Play上下载了另一个警报应用程序,即使我通过向上滑动杀死了该应用程序,它也会在指定时间强制响铃。

0 个答案:

没有答案