如何以编程方式确定 Android 应用程序是否在 Samsung Galaxy 上进入睡眠状态?

Seb*_*hke 5 android powermanager android-powermanager

三星 Galaxy 具有让应用程序进入睡眠状态的功能 - 据我了解,这与应用程序的电池优化不同。

我需要以编程方式检查应用程序是否配置为睡眠状态,以便我可以正确地警告用户这一点以及后台任务无法运行的事实。

我知道PowerManager.isIgnoringBatteryOptimizations()这似乎与是否让应用程序进入睡眠状态无关。

Tas*_*mad 3

三星睡眠功能的特点是它与“后台优化”“不同”。他们的功能旨在在 3 天后冻结应用程序(就像设置中的冻结一样),但根据用户偏好,可以延长至 7 天。目前,没有已知的方法可以以编程方式检查应用程序是否已进入睡眠状态。

\n\n

您可以做的就是通知用户这一点,并要求将应用程序列入“白名单”,使其免于即将进入睡眠状态。

\n\n
Intent intent = new Intent();\nintent.setComponent(new ComponentName("com.samsung.android.sm", "com.samsung.android.sm.ui.battery.BatteryActivity"));\n\ntry {\n   getActivity().startActivity(intent);\n} catch (ActivityNotFoundException exception) {\n     //Manager not installed\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码来源

\n\n

此代码将尝试打开 BatteryManager,用户可以从那里选择防止应用程序休眠的选项。

\n\n

以下是相关问题:

\n\n

如何检查我的应用程序是否进入三星设备优化?

\n\n

三星\xe2\x80\x9c应用程序优化\xe2\x80\x9d功能在3天后杀死后台应用程序

\n\n

该博客应该可以帮助您找出向用户通知该问题的方法

\n