首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android Oreo下,启动完成后服务未重新启动

在Android Oreo下,启动完成后服务未重新启动
EN

Stack Overflow用户
提问于 2021-08-03 09:47:11
回答 1查看 29关注 0票数 0

我的服务在android Oreo下启动时出现了问题。我有一个警报管理器,他在一天中的特定时间安排服务。我有一个BootCompleted广播接收器,如果用户重新启动他们的电话,它会重新设置警报。

代码语言:javascript
复制
public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
            new AlarmHelper(context).setAlarm(timeInMillis); // i get timeInMilis from SharedPref

        }
    }

我有一个AlarmReceiver,它在警报管理器唤醒时启动服务。

代码语言:javascript
复制
public class AlarmReceiver extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {

            if (intent.getAction().equals(Constants.ACTION_SET_REPETITIVE_ALARM)) {

                if(!isMyServiceRunning(context, PostReportsService.class)){
               
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                        context.startForegroundService(background);
                    }else{
                        context.startService(background);
                    }
                }
            }
      }

Oreo上面和下面的设备都可以访问context.startService(后台)(或context.startForegroundService(后台)),但只有Oreo上面的设备才会实际启动服务。这仅在设备重新启动后发生,否则该服务在Oreo下和Oreo之上都有效。我能做些什么来解决这个问题吗。

EN

回答 1

Stack Overflow用户

发布于 2021-08-03 09:48:43

原来我正在测试的设备有省电模式,在重启时禁用了服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68633829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档