问题标签 [powermanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1641 浏览

android - 锁定屏幕上的 Android 活动

我的项目需要帮助,我应该让 BroadcastReceiver 在当前锁定屏幕上启动全屏活动。我在我的活动中试过这个:

广播接收器:

AndroidManifest.xml:

但它不适用于我的 android 7.0.1 手机

0 投票
0 回答
84 浏览

java - 如何强制关闭设备?

当前 eclipse/android studio 无法构建应用程序并出现错误:未定义函数 gotosleep();

这里在清单中添加:

并将包更改为:

我们不希望设备管理员锁使 android 睡眠,因为它与 PowerManager 不同,并且不确定更改设置超时是否会与 PowerManager 达到类似的结果,但不确定它是否可以通过编程方式唤醒(打开屏幕)。

问候, 维姆斯

0 投票
1 回答
976 浏览

android - WakeLock 在现代 Android 中的用途?

在引入 Doze 和 Foreground Services 之后,我很难理解WakeLock在现代版本的 Android 中的用途。

似乎 WakeLocks 在这一点上几乎是遗留的(尽管没有标记为已弃用),被前台服务所取代(因为 WakeLocks 实际上不受Doze的尊重)。

文档中:“使用唤醒锁的一个合法案例可能是后台服务需要获取唤醒锁以保持 CPU 在屏幕关闭时运行以完成工作” - 但在引入打盹和前台服务,是吗?

是否还有使用 WakeLocks 的合法用例(而不是例如前台服务)?

0 投票
0 回答
59 浏览

java - 神秘的 java.lang.RuntimeException:在 android.os.PowerManager$WakeLock.acquireLocked (PowerManager.java:2212)

已经在生产环境中运行多年的应用突然决定抛出一次 RuntimeException。

这是由 Play 管理中心崩溃跟踪页面报告的。我所知道的只是它发生在运行 Android 8.0 的 Galaxy S7 上

完整的堆栈跟踪是

抛出的异常中很可能包含一条很好的描述性消息,但不幸的是,异常消息没有也从未包含在 Play 管理中心崩溃报告中。

如果我知道如何找到 PowerManager 类的这个特定版本的源代码,我可以在那里查找。但可惜,这也被证明超出了我的能力范围。

任何帮助或建议将不胜感激。

谢谢

0 投票
0 回答
192 浏览

android - 音乐播放器卡住部分唤醒锁(背景)

我有一个 android 音乐播放器,我在 Play Console 中看到“卡住部分唤醒锁(背景)”。我不知道如何解决它。我搜索我的代码,当我初始化播放器时,我发现的唯一代码如下。

0 投票
1 回答
1360 浏览

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

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

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

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

0 投票
1 回答
411 浏览

java - 为了确保显示使用 BroadcastReceiver 创建的活动,应该使用 PowerManager 唤醒设备多长时间?

我有我的AlarmManager,在任何时间后都会导致我的BroadcastReceiver. 所以当然设备可以处于空闲(睡眠)模式,包括密码锁定。我想知道使用https://developer.android.com/training/scheduling/wakelock.html#javaPowerManager是否是 好的做法和 必要性

“创建和保持唤醒锁会对主机设备的电池寿命产生巨大影响。因此,您应该仅在绝对必要时使用唤醒锁,并尽可能短地保持它们。例如,您永远不需要使用唤醒锁锁定活动。如上所述,如果您想在活动中保持屏幕开启,请使用 FLAG_KEEP_SCREEN_ON。

为了更好地理解:最后它应该是默认 Android 闹钟的副本。

显现:

广播接收器:

意图打开的活动:

这是我可以让设备在手机处于空闲(睡眠)模式并使用密码锁定的确切时间唤醒的唯一方法。如果我将它PowerManager放入 RingtoneAlarm Activity 它不起作用,因为没有创建 Activity,因此getWindow().addFlags(....);没有激活。我找不到让它工作的方法PowerManager(如前所述:文档说这不是好的做法)。更重要的是,它感觉PowerManager只是一种解决方法,因为我只需要在BroadcastReceiverRingtoneAlarm 活动创建之间的那一小段时间里使用它,而且它可能会在未来被弃用,就像FLAG_TURN_SCREEN_ON.

那么在wakeLock.acquire(X)中应该是多少秒;在广播接收器中?3 秒太短而且不起作用,10 分钟可能有点过头了……或者没有 PowerManager 有更好的解决方案吗?

0 投票
1 回答
157 浏览

android - 如何检测 Android 中的 PowerSaveMode 变化

我正在尝试检测电池的 PowerSaveMode 更改。我正在使用方法 pm.isPowerSaveMode()。我总是有一个错误的结果的问题。我正在尝试更新 statut 以启用,但结果总是错误的。我正在使用三种不同的设备,S8+(Android 9)、一加(Android 10)、索尼(Android 10)...

请问有什么解决办法吗?

0 投票
0 回答
39 浏览

android - 如何在新的 API(API 23 以上)中在所需时间打开 android 手机屏幕?

我正在开发一个新的应用程序,它需要在所需的时间点亮屏幕并在通知的同时播放声音或警报。这个概念在低于 23 的 API 中使用Wake_lock和其他一些不推荐使用的方法。但正如我提到的,由于一些称为DOZE模式的省电策略,它们中的大多数已在新 API 中被弃用。

有太多可用的应用程序以我询问的方式工作。但我没有为我的问题找到任何好的帮助或线索。

是否有解决上述问题的方法(在所需时间打开屏幕)?

0 投票
2 回答
705 浏览

android - 触发通知时唤醒设备

我在我的应用程序中设置了提醒,但是当通知出现时屏幕没有打开,也没有弹出。我只是收到通知栏的通知。设备应该唤醒(如果锁定)或显示通知弹出(如果解锁)

警报接收器类:

唤醒锁类:

提醒课: