[英]Android service background Android Oreo
在我的Android项目中,我使用服务创建了一个自定义时钟小部件,该服务包含一个广播接收器实例和一个意图过滤器。 每次到达ACTION_TIME_TICK时,广播接收器都会提供小部件的更新。 将gradle中的targetSdkVersion设置为25时,这可以完美地工作。 但是,如果我的目标是27瑞典克朗,该服务将在几分钟后停止。 我已经阅读了有关Android O中后台执行限制的文档,但找不到适合我的项目的任何方法。 你有什么建议吗?
您可以尝试几种方法,当它们一起使用时,应该可以突破所有的空闲/待机/打ze模式(与OS版本无关)。
WakefulBroadcastReceiver
代替普通的BroadcastReceiver
。 确保您包含WAKE_LOCK
权限才能正确使用它。 使用setExactAndAllowWhileIdle()
方法(在API 23及更高版本上)为接收者安排Intent:
if (Build.VERSION.SDK_INT < 23) { if (Build.VERSION.SDK_INT >= 19) { setExact(...); } else { set(...); } } else { setExactAndAllowWhileIdle(...); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.