问题标签 [android-wake-lock]

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 回答
244 浏览

android-wake-lock - 唤醒锁中的Android问题?

海我使用广播接收器开发了一个应用程序。我需要总是唤醒我的应用程序。所以我使用了唤醒锁。这里是我的代码

问题

1.如果我总是醒来,我的电池就会耗尽。

2.if i cal w1.acquier(),是否需要释放w1(ie w1.release)

0 投票
2 回答
5935 浏览

android - Android:前台服务与唤醒锁

我对 Android 比较陌生,所以我要问的问题似乎很明显(尽管我已经阅读了所有类似标题的问题,并且进行了广泛的搜索)。我需要长时间连续监测加速度计。提出了两种方法:

1) 获取一个部分唤醒锁,该锁在加速度被监控的整个过程中都被持有;和

2) 在前台服务中监控加速度计。

第一种方法似乎会消耗大量电池寿命。第二种方法应该导致服务很少被杀死,但我不确定“很少”是什么意思。应该使用哪种方法,还有我应该考虑的替代方法吗?

0 投票
1 回答
249 浏览

android - 在短期服务运行时保持设备唤醒的选项

我正在开发一个应用程序,让用户完成锻炼计划。这是一个跑步训练器,使用音频提示让用户知道在锻炼过程中的不同时间点何时步行、跑步等。

在应用程序运行时,手机很可能会被锁定并放在某人的口袋里,所以我正在研究如何保持声音提示的出现。目前,我只是在本地服务中使用处理程序进行测试,以安排下一个提示。这在某些设备上比我预期的要好,但在其他设备上,服务似乎在手机锁定时停止。

我知道有多种选择可供我选择——在手机上保持唤醒锁定、​​安排闹钟、(也许?不确定这个)改变服务的优先级,也许还有更多。

那么,人们认为最好的方法是什么?请记住,这不是一项“正常”的服务——它通常每周运行最多半小时,每周 3 次,而且它的许多用户会在运行时播放音乐,所以手机相当反正不太可能睡着。因此,我在想,在这种情况下,关于电池耗尽唤醒锁的常见警告可能并不适用?

目前我的目标是 API 级别 8 作为我的最低要求。

0 投票
1 回答
1562 浏览

java - 套接字连接需要android应用程序锁?

我的应用程序通过我编码的服务与服务器保持套接字连接,但是一旦手机休眠(屏幕关闭后几分钟),我就无法从休眠手机获得典型响应。当服务接收到网络事件时,通常会播放声音。

我的问题是,我是否需要一个 wake_lock 才能拥有我的应用功能。如果是这样,这个wake_lock 对哪些组件有帮助?我对声音和插座连接很好奇。我可以只用部分唤醒锁来做到这一点吗?

至于socket连接,如果是在wifi下完成,是否需要额外的wifi锁?套接字连接只包含一次小事务,那么有没有办法让套接字连接不在wifi下(即使用户启用了wifi),所以我不必锁定wifi并浪费电力?还是只能在 3g/4g 下方便地完成套接字连接,或者可以从 wifi 优雅地退化到 3g/4g?

谢谢!

0 投票
1 回答
2477 浏览

android - Android WAKE_LOCK 权限权限

pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, C2DM);我在 C2DM 服务的实现中使用了唤醒锁,并<uses-permission android:name="android.permission.WAKE_LOCK" />在 AndroidManifest 中使用了权限。我很感兴趣,唤醒锁实际上有什么权利?我知道它不是在应用程序的 onPause() 和 onStop() 中释放的,它可以在有新消息时打开屏幕。但还有什么?它使用多少电池?如果设备关机了,那么c2dm消息就不会唤醒它,对吧,那么唤醒锁是在设备关机的时候释放的吗?提前致谢。

0 投票
2 回答
425 浏览

android - Android - 我需要唤醒锁吗?

我有一个广播接收器,它在发送短信后监听“SMS_SENT”意图。据我所知,SMSManager 确实提供了一个唤醒锁,以便它可以实际发送 SMS(我没有任何证据,但常识会告诉我是这种情况)。

但是,我的 BroadcastReceiver 调用了一个 WakefulIntentService,它使用自己的唤醒锁,所以没关系。但是,接收器本身呢?我是否需要创建一个新的唤醒锁以保证调用 WakefulIntentService?或者我可以安全地忽略这一点,就像使用 AlarmManager 的接收器一样?

谢谢

0 投票
2 回答
14800 浏览

android - 在 Android 中禁用屏幕锁定(电源)按钮

我希望当我的应用程序运行电源按钮时(按下锁定屏幕和屏幕变黑),应该被禁用。使用户无法锁定屏幕。

我在三星 Galaxy S 手机的默认相机应用程序中注意到了这个东西。这也是我试图做同样的事情的原因。我还有一个相机相关的应用程序。

0 投票
1 回答
1143 浏览

usb - Wakelock 仅适用于连接的 USB 电缆

我有一个相当奇怪的问题。最近我尝试使用以下代码在我的应用程序中使用唤醒锁:

唤醒锁工作完美:按下按钮(并锁定我的手机)5 秒后,屏幕打开。但是,此测试是在我的手机连接到我的笔记本电脑以使用 USB 电缆进行调试时完成的。

现在是奇怪的部分。当我没有用 USB 数据线连接手机时,wakelock 根本不会打开屏幕。我正在使用的设备是 HTC 的愿望。我实际上已经在另一个 HTC 愿望上测试过它,它做了同样的事情。接下来,我在 HTC Desire HD 上试了一下。猜猜看:它再次完美运行!我对此感到非常困惑,想知道问题是否只是我手机类型的缺陷,还是我的代码做错了什么。我能做些什么吗?如果任何手机类型故障的潜在客户在购买我的应用程序后遇到同样的问题,那将是非常尴尬的。

请注意,我还在使用连接到墙上插头的电缆为手机充电时尝试了该应用程序。这会导致与根本没有连接手机相同的问题。两款 HTC Desires 运行相同的 Android 版本 (2.2.2)。

0 投票
1 回答
2921 浏览

android - 寻找我的应用程序停止的原因,Android

我有一个小型数据收集应用程序,它有一个按钮来启动和停止服务。

该服务反过来启动一个新线程。每当有关于它的广播时,它都会收集有关电压变化的数据。

数据临时存储在 ArrayList 中,每隔 10 秒将存储在 arrayList 中的所有数据转储到数据库中。

应用程序运行良好 10-20 分钟,但 20 分钟后应用程序自动停止。有时服务仍在运行,有时服务也被杀死。

你们能告诉我这里可能是什么问题吗?我认为可能与这个问题有关的事情是:

1.> 我每 10 秒打开和关闭一次数据库。只有在整个应用程序完成后,我才应该将设计更改为关闭数据库。

2.> 我也使用了唤醒锁,但这并没有什么不同。我也应该为我的服务使用唤醒锁吗?

3.> 最后,我如何才能知道导致我的应用程序停止的错误(我无法连接到 USB 以知道因为我希望电池处于耗尽模式)

更新

logcat报错如下:

对应的Thread代码如下:

0 投票
1 回答
1425 浏览

android - /proc/wakelocks 的列是什么意思?

在 cat /proc/wakelocks 之后,我得到了类似的东西。但是列中的数字是什么意思?

  • 名称 - 这很容易。
  • count - 锁定了多少个锁?
  • expire_count - 不知道。这是什么?
  • wake_count - 同上。这是什么?
  • active_since - 同上。这是什么?
  • total_time - 同上。什么总时间?
  • sleep_time - 同上。这是什么?
  • max_time - 同上。这是什么?
  • last_change - 同上。这是什么?