繁体   English   中英

Android服务背景Android Oreo

[英]Android service background Android Oreo

在我的Android项目中,我使用服务创建了一个自定义时钟小部件,该服务包含一个广播接收器实例和一个意图过滤器。 每次到达ACTION_TIME_TICK时,广播接收器都会提供小部件的更新。 将gradle中的targetSdkVersion设置为25时,这可以完美地工作。 但是,如果我的目标是27瑞典克朗,该服务将在几分钟后停止。 我已经阅读了有关Android O中后台执行限制的文档,但找不到适合我的项目的任何方法。 你有什么建议吗?

您可以尝试几种方法,当它们一起使用时,应该可以突破所有的空闲/待机/打ze模式(与OS版本无关)。

  1. 使用WakefulBroadcastReceiver代替普通的BroadcastReceiver 确保您包含WAKE_LOCK权限才能正确使用它。
  2. 使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM