三星 Galaxy 具有让应用程序进入睡眠状态的功能——据我了解,这与应用程序的电池优化不同。
我需要以编程方式检查应用程序是否配置为睡眠,以便我可以正确警告用户这一点以及后台任务无法运行的事实。
我知道PowerManager.isIgnoringBatteryOptimizations()
这似乎与是否让应用程序进入睡眠状态无关。
三星 Galaxy 具有让应用程序进入睡眠状态的功能——据我了解,这与应用程序的电池优化不同。
我需要以编程方式检查应用程序是否配置为睡眠,以便我可以正确警告用户这一点以及后台任务无法运行的事实。
我知道PowerManager.isIgnoringBatteryOptimizations()
这似乎与是否让应用程序进入睡眠状态无关。
三星睡眠功能的特点是它与“背景优化”“不同”。他们的功能旨在在 3 天后冻结应用程序(就像在设置中冻结一样),但根据用户偏好,它可以延长到 7 天。目前,没有已知的方法可以以编程方式检查应用程序是否已进入睡眠状态。
您可以做的是通知用户这一点,并要求将应用程序从即将进入睡眠状态“列入白名单”。
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.samsung.android.sm", "com.samsung.android.sm.ui.battery.BatteryActivity"));
try {
getActivity().startActivity(intent);
} catch (ActivityNotFoundException exception) {
//Manager not installed
}
此代码将尝试打开 BatteryManager,用户可以从那里选择选项以防止应用程序休眠。
以下是相关问题: