isBackgroundRestricted
Added in API level 28
查询用户是否为该应用开启了后台限制。
详见: Android Docs
即使设备正在充电,这些限制仍然有效。(Note that these restrictions stay in effect even when the device is charging.)
如果为 true,应用程序尝试执行的任何工作都将在后台受到严格限制。 除非应用程序在前台,否则不会执行jobs和alarms并且无法启动前台服务。
可以通过调用以下方法检查后台活动是否启用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val activityManager = getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager?
activityManager?.let {
val restricted = it.isBackgroundRestricted
}
}
无法直接打开后台活动限制
的设置页面来要求用户禁用它,而是只能显示一个描述如何禁用后台活动限制的窗口(分步指导用户怎样设置)
以下Intent
打开应用程序的设置页面,用户可以在那里禁用后台限制
Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", packageName, null)
).let {
startActivity(it);
}