android前台服务熄屏失效,Android Oreo前台服务无法在Doze模式下运行

为了克服android OREO(targetSdkVersion 27)后台服务限制,我创建了一个带有Notification的前台服务 . 通知显示在通知栏中,到目前为止服务正在运行 . 我在前台服务类中使用FusedLocationClient将我的代码与活动识别和位置跟踪相关联 . 当手机处于活动状态或屏幕打开时,ActivityRecognition和位置跟踪正在按预期工作 . 但是当屏幕关闭或处于打盹模式时它们不起作用 . 我不确定我是否误解了Android文档,在使用具有可见通知的Foreground Service时不应该有任何限制 .

我的主要目标是在最长1/2分钟间隔内获取用户活动状态和位置记录 . 但是我当前的前台服务提供的位置和活动次数较少,只有在设备屏幕打开时才会返回 . 顺便说一句,我的前台服务不是绑定服务,我使用以下代码启动服务:

Intent startIntent = new Intent(_context, ForegroundLocationService.class);

ContextCompat.startForegroundService(_context.getApplicationContext(),startIntent);

我使用从MainApplication(扩展Application)类调用的辅助类调用上面的代码,而不是从任何活动类调用 .

所以,在OREO中我还需要做些什么来实现我的目标,请建议我 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值