针对较低目标SDK的Android O限制

Nic*_*ckF 6 android

我开始使用Android O在Nexus 5x上测试我的应用程序.
targetSdkVersion是22.
在开发者网站中我读到了有关后台执行限制的地方:
其中:
默认情况下,这些限制仅适用于以O为目标的应用程序.但是,用户可以启用这些限制对于"设置"屏幕中的任何应用,即使应用尚未定位到O.

  1. 这些设置在哪里(强制执行A​​ndroid O限制)?
  2. 什么是这些限制的最佳做法,而我仍然想保持低位targetSdkVersion

Fra*_*ank 0

  1. 我也找不到。
  2. 最佳实践是针对 API 26 开发此功能,尽管您的目标不是它。因此,将您的服务作为前台服务启动。之后,您的服务应该在 onCreate 中启动前台通知。

来自文档

Context.startForegroundService()方法启动前台服务。Context.startForegroundService()即使应用程序在后台,系统也允许应用程序调用。但是,应用程序必须startForeground()在创建服务后五秒内调用该服务的方法。(startForeground推送通知)