问题标签 [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.
android - NotificationManager.notify() 失败并出现 SecurityException
Android 2.2何时NotificationManager.notify()
需要WAKE_LOCK
权限?
我从一位用户那里收到了以下堆栈跟踪:
更新Scala中的调用代码:
android - 在 Android 上关闭屏幕
我正在尝试在某些操作发生后打开和关闭显示器(让我们暂时担心关闭屏幕)。根据我对唤醒锁的理解,这就是我所拥有的:
当我在 stackoverflow 和其他地方阅读其他帖子时,他们似乎告诉我 PARTIAL_WAKE_LOCK 会关闭屏幕。但是,如果我阅读 SDK,它会说它只允许关闭屏幕。我认为这是不对的。
android - Check for wifi networks signal in sleep mode
My objective is to be able to scan changes in Wi-Fi networks (mainly to check what networks are available). Right know I'm doing it by registering a reciever:
where WifiReceiver
is my BroadcastReceiver
.
The problem is that it works only when the phone is on. As soon as it goes to sleep mode (either by pushing the power button or after some time), the receiver stops receiving. I already acquired a wake lock in onCreate of my main class and releasing it in onDestroy (it's a partial wake lock). Additionally I've tried this:
to keep wifi from sleeping. Unfortunately that didn't help.
Is there any possibility to scan for network changes, even when phone is asleep? I want to be able to check what networks are in range (by SSID). Maybe I should use another action?
Appreciate your help.
android - 调用 PowerManager.goToSleep 时,Android 服务会发生什么情况?
我试图弄清楚调用 PowerManager.goToSleep() 时 android 服务会发生什么。
假设设备处于睡眠状态 x 时间。当设备退出睡眠状态时,服务中没有诸如 onPause() 或 onRestart() 之类的 LifeCycle 方法用于通知服务更改。
我知道根据文档,所有的 WakeLocks 都被覆盖了,这是否意味着服务将被销毁并且不会再次启动?
http://developer.android.com/reference/android/os/PowerManager.html#goToSleep%28long%29
android - Android:唤醒锁:是否在应用程序暂停时释放锁?
我必须使用唤醒锁(是的,出于显而易见的原因,我不应该这样做,但我得到了报酬,所以我别无选择,哈哈)
我的问题很简单:当我离开应用程序 onPause 或 onStop 时,应用程序的唤醒锁是否会自动释放?
我想避免用户关闭他的应用程序并且由于某些奇怪的原因唤醒锁仍然打开。
我当前的系统存在问题,其中应用程序通过消息处理程序调用释放唤醒锁(因为它来自另一个线程)并且这种情况发生“为时已晚”并且应用程序崩溃,因为它不再具有参考唤醒锁。
我可能不是很清楚,但这里的主要问题是:
我是否必须担心我的应用程序的唤醒锁定会在应用程序的生命周期之外影响手机。
干杯
杰森
android - Android蓝牙&WakeLock的关系
我正在开发一个在后台运行并支持蓝牙配件的 Android 应用程序。我想一直在后台监听蓝牙设备,以尝试打开手机的套接字。我的问题是是否有可能在不不断保持部分唤醒锁的情况下实现这一目标,因为这显然会产生严重的电池后果。所以我想知道的是蓝牙对手机入睡有什么影响。蓝牙插座打开时手机是否保持唤醒状态?如果设备尝试连接,蓝牙芯片是否会自动唤醒 Android?我试图做一些测试来回答这些问题,但是很难隔离唤醒锁发生的事情。另外,我不
android - WakeLock 相关的 Mandelbug:WakeLock.acquire() 总是成功吗?
问题
我已经为 Android 开发了很长一段时间了。我开发的其中一个程序大量使用了WakeLocks。它通常是完美的(通常一次几天或几周,这是程序的要求),但我很少注意到这段代码中的特殊行为:
wherehasWakeLock()
简单地返回结果(wakeLock != null && wakeLock.isHeld())
并wakeLockManager.newPartialWakeLock(DEBUG_TAG)
封装了标准的“获取 PowerManager 然后返回唤醒锁”代码。出于测试的目的,断言语句是 JUnit 断言方法,所以我认为我们可以假设它们是正确的。
代码的问题是:最后的断言assertTrue(hasWakeLock())
- 似乎每隔几周就会失败一次,几乎没有解释。这意味着我在这里有三个可能的问题:(1)从未从 PowerManager 中检索到唤醒锁(2)我有一个并发问题,在极少数情况下,它在后置条件之前但在调用之后才生效acquire()
,或者(3)acquire()
有时是错误的。
问题调查
如上所述,我正在调查/已调查可能发生的三个潜在问题:
假设 1:未返回唤醒锁:
如果是这种情况,那么我会看到一个空指针异常。不可能这样。
假设 2:我有一个并发问题:
刚刚对所有涉及获取和释放的地方进行的形式验证证明wakeLock
强烈地让我相信情况并非如此。如果我的证明有问题,那么我可能会遇到并发问题,但它确实很隐蔽且很难找到。
假设 3: WakeLock.acquire() 是错误的,尽管文档说它有时可能无法获取锁:
我不喜欢这个假设,因为对于所有的 Android 用户,除了我自己之外,肯定有人已经注意到了这一点,而且几乎总是开发人员的代码,而不是库或操作系统代码有问题。再一次,奇怪的事情发生了,这可能是一个真正的 Android 错误,尽管很少出现。如果这个假设是真的,那么 acquire() 根本就没有获得唤醒锁,这将解释我所看到的行为。
那么 StackOverflow,是什么导致了这个问题?你觉得哪里不对?我是否遗漏了一些明显的东西,或者这可能是 Android 唤醒锁的真正问题?
android - Android,在应用程序的漏洞中唤醒锁是否处于活动状态?
我的应用程序中有一些活动。在主要活动中,我定义了唤醒锁:
onPause()
并在方法中发布它。我的问题是,它在整个应用程序中都处于活动状态吗?或者我是否需要在我拥有的每个活动中复制/粘贴它?
谢谢
android - Android - 屏幕超时时如何写入文件
我们正在编写一个(行业特定)应用程序来维护它自己的日志文件(我知道我们应该使用 android 日志,但出于商业目的,我们需要以非常特定的格式维护这个日志文件。)这个应用程序不适合大众市场,并且用户将清楚地意识到应用程序将遭受的电池消耗。
首先,该应用程序有一项服务必须始终保持与服务器的连接。我们通过使用部分唤醒锁实现了这一点,一旦屏幕时间结束,它就会按预期工作。
然而,我们的问题是,当屏幕时间结束时,我们的记录器模块停止写入位于外部存储上的文件,一旦屏幕再次启动,记录器会在短时间内恢复。
我们知道应用程序没有被系统杀死(由于前台服务),因为当它重新启动时,一切都保持原样。(重启让我们回到不同的屏幕)
是否有另一种方法可以强制系统保持文件流打开?为什么我们持有的部分唤醒锁还没有做到这一点?
必须有一种方法可以随时写入文件。
java - Android - 用语音解锁手机
是否可以使用语音命令解锁手机,即使设备处于 PowerManager.WakeLock 模式?我想使用服务作为后台进程,但手机设备在锁定时可以反应吗?有什么想法吗?
ps.为了清楚我正在使用Java Android SDK