使用alarmmanager,应用程序被杀死后服务是否无法重新启动?

时间:2018-08-11 09:47:57

标签: android alarmmanager

我举了一个简单的例子,在一个时间间隔之后将显示一个敬酒消息。我正在使用alarmmanager计划从显示吐司消息的地方安排服务。现在的问题是,当应用程序运行时,它可以正常运行,但是当我从任务管理器中关闭该应用程序时,该服务无法重启。以下是我的服务代码

public class AlarmService extends Service {

@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Toast.makeText(this, "Alarm Alarm Alarm", Toast.LENGTH_SHORT).show();
    return Service.START_STICKY;
}

}

以下是我的警报管理器代码:

alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmService.class);
    pendingIntent = PendingIntent.getService(this, 0, intent, 0);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 10, pendingIntent);

现在,对此有什么解决方案?即使关闭应用程序,我也需要保持警报状态。

2 个答案:

答案 0 :(得分:0)

实际上,您可以在BroadcastReceiver实施onDestroy,以在系统/用户关闭应用程序/服务后重新启动服务。

您可以查看帖子here,而您的教程请查看here

希望有帮助!

答案 1 :(得分:0)

尝试以下方法:-

  

退货服务。START_CONTINUATION_MASK;