问题标签 [wakelock]

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 投票
1 回答
794 浏览

android - 如何查看手机是否处于睡眠模式???

我希望我的应用程序一直运行。它应该在手机处于睡眠模式时执行一个函数,并在它睡眠时停止执行。任何人都可以发布示例代码吗?

提前致谢。

0 投票
2 回答
4586 浏览

android - 如何让安卓设备在插入时不休眠

每当我的一项活动正在运行并且手机已插入电源时,我想保持屏幕开启。我知道 Wakelocks 很棘手,所以我正在寻找有关如何实现此特定目标的示例或一些文档。

0 投票
2 回答
5107 浏览

android - 初学者问题:唤醒锁

我是 WakeLock 概念的新手,需要您的帮助。

问题:

  1. 我假设 WakeLock 是某种类型的锁,当被执行代码持有时,它会阻止设备进入睡眠状态。如果设备已经处于睡眠/待机模式,代码会执行吗?假设它永远不会获得 WakeLock?

  2. 当在后台线程(AsyncTask)中完成长时间运行的任务(大约 7-8 秒)时,我应该为持有 WakeLock 而烦恼吗?AsyncTask 是否已经为我获取它?

  3. 感谢官方文档和唤醒锁文章的链接。

谢谢。

0 投票
1 回答
2853 浏览

android - 唤醒锁引用计数

谁能解释这种 PowerManager.Wakelock 方法的用途?

设置参考计数

“唤醒锁默认是引用计数的。” - 为什么?

0 投票
4 回答
3639 浏览

android - 开发报警应用

我想开发一个警报应用程序。应用程序应该像这样工作:

  • 启动它
  • 活动告诉我时间
  • 我可以设置闹钟
  • 我可以关闭应用程序
  • 当闹钟时间到来时,它会启动一个活动(即使设备被锁定)

我已尝试调整此示例https://github.com/commonsguy/cwac-wakeful但在闹钟时间到来时我无法启动活动。

我使用此代码设置警报(为了测试,我已在活动方法中插入此代码onCreate):

这是 OnAlarmReceiver 类:

这是服务类:

这是 Manifest 中设置服务和接收器的部分:

doWakefulWork 方法永远不会被调用!

0 投票
2 回答
763 浏览

android - Android唤醒锁问题

有人可以给我看一个使用两个按钮的示例代码片段吗?一个关闭,一个打开屏幕。我无法让它工作。谢谢!

0 投票
2 回答
12603 浏览

android - 如果持有它的应用程序或服务被杀死,Android 操作系统是否会释放唤醒锁?

我对唤醒锁有疑问。在下面显示的情况下,android 操作系统是否释放唤醒锁(PARTIAL_WAKE_LOCK如果您需要指定)以防止唤醒锁被获取并浪费电池直到关闭电源(不是睡眠)。

案例 1-a:
应用程序在其中一个线程中获得了唤醒锁(无超时选项)(请认为在这种情况下是合理的),并且它旨在在关键任务完成时释放唤醒锁。App 可以被 taskmanager 或臭名昭著的 taskkiller 杀死,并且 app 没有机会让其线程释放唤醒锁。那个唤醒锁会发生什么?

案例 1-b:(
如果案例 1-a 的回答是“是的,不用担心”,那么请忽略此案例。)与案例 1-a 相同,但应用程序为唤醒锁定提供了超时选项,例如 3 秒。此超时选项是否保持有效?

案例 2-a:
请想象有一个由 AlarmManager(通过广播接收器)启动的服务,并且该服务已获得唤醒锁(无超时选项)。该服务旨在使唤醒锁获取时间最短。但不幸的是,由于内存紧张,Android OS 选择了这个服务来杀死。(我不知道操作系统在获取唤醒锁时是否不会终止服务,但我猜操作系统不在乎。但我希望操作系统稍后会释放唤醒锁。)那个唤醒锁会发生什么?

案例 2-b:(
如果案例 2-a 的回答是“是的,不用担心”,那么请忽略此案例。)与案例 2-a 相同,但服务为唤醒锁定提供了超时选项,例如 3 秒。此超时选项是否保持有效?

0 投票
3 回答
7904 浏览

android - 如何释放唤醒锁?

我正在使用wl.acquire(). 这工作正常。只要我的应用程序存在,我就需要那个唤醒锁,所以release()只有在应用程序离开时才能进行调用。

我必须在release()某个地方打电话吗?例如在onStop()?我会说不,但我不确定。

0 投票
3 回答
13056 浏览

android - 用户不活动时屏幕变暗

我有一个应用程序可以使用 4 小时,但用户只需每 5 分钟输入一次或阅读屏幕。让手机进入睡眠状态并锁定屏幕有点烦人。所以我有两个选择:

  1. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);它不会锁定屏幕,但屏幕总是很亮,我想在没有活动时调暗它。仅仅因为电池寿命,或者这 4 小时没有那么重要?

  2. 一个唤醒锁SCREEN_DIM_WAKE_LOCK ,它和我想要的一样好,但我被告知宁愿使用上面的选项 1。

我可以在没有唤醒锁的情况下以某种方式实现想要的目标吗?

0 投票
1 回答
2080 浏览

android - Android - 唤醒锁线程没有打开屏幕

我在使用唤醒锁时遇到问题。基本上,我在我的计时器线程中运行了唤醒锁,一个 AsyncTask 的 doInBackground 在我的应用程序的整个持续时间内运行(它是一个用于进行性能测量的后台应用程序)。然后我决定只希望屏幕每 10 分钟左右唤醒一秒钟左右。所以我创建了另一个扩展 AsyncTask 的类,并将下面的代码放入它的 doInBackground 中,但是现在屏幕没有重新打开。我应该注意,我使用 onCreate 中的 doInBackground 方法启动了这个线程和另外两个 AsyncTask 线程。

这是我的新内部类正在唤醒:基本上它应该做的就是每 10 分钟唤醒一次手机屏幕,直到我的其他两个后台线程将它们的布尔值设置为 true。