问题标签 [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.
android - Android - 唤醒锁未正确获取,应用程序需要保持待机运行
在我的应用程序中,在主要活动的 onCreate() 方法中,我创建了一个唤醒锁,以便在手机处于待机状态/屏幕关闭时 CPU 将继续运行。
同样在 onCreate 方法中,我打算创建一个使用加速度计的服务。此服务需要在应用程序打开并监控加速度计值时持续运行(我知道这对电池不利,但我需要它来做到这一点)。这是我目前的代码,服务启动正常。
我在清单中设置了以下权限 -
我用不同的锁试过这个 - 暗屏和全亮度也无济于事。我在 logcat 上的输出在这里 -
我见过有人说部分唤醒锁不能像他们应该做的那样工作,例如这个链接Google 待机错误页面,但这是去年发布并关闭的,所以我不知道是不是这样,有人可以帮忙吗?关于最后一点,我也有 HTC Desire,谢谢。
android - 在睡眠和唤醒设备时允许 wifi 数据
我搜索并找不到这个问题的答案。我正在开发将一直运行的应用程序。我正在使用 wifi,一切正常,直到设备进入睡眠状态。一台设备发送多播数据包,另一台设备应该获取它们并唤醒,但事实并非如此。现在网络线程是StartService()
从我的主类启动的服务线程启动的。在服务中,我得到了一个 wifi 锁和一个 wifi 多播锁,以便 wifi 和多播“应该”在设备休眠时保持打开状态。我还尝试在混音中添加部分唤醒锁定,但仍然没有任何效果。有任何想法吗?我现在正在开发两个运行 android 2.3.3 的 nexus。
android - 下载线程中的 PARTIAL_WAKE_LOCK 与 SCREEN_DIM_WAKE_LOCK
我有一项服务会产生一个下载线程,该线程有时会下载大文件。我意识到一旦手机进入睡眠状态,下载线程就会显着减慢,然后停止。
显而易见的补救措施,唤醒锁。所以我认为获取partial_wake_lock 是可以的,只是为了让cpu 处理下载。但这不起作用,同样的行为,下载速度变慢,然后在屏幕关闭时停止。
然后我尝试了一个screen_dim_wake_lock。这一次,屏幕一直亮着(变暗),下载一直全速进行,直到下载完成,唤醒锁被释放,然后手机进入睡眠状态。
我的问题是,为什么我不能像在 screen_dim_wake_lock 期间那样保持 partial_wake_lock 时保持线程运行?关于这两者之间的区别是否存在一些未记录的行为?是不是因为我没有在 UI 线程上运行?
编辑:
我添加了一个wifilock。wifi没有进入睡眠状态,但我的线程仍然死了。如果其他进程唤醒系统,下载将以正常速度继续,然后再次减速。如果我唤醒手机,它会以正常速度继续运行,而不是在屏幕熄灭时再次减速。似乎线程被系统推到了后台。我想知道我是否可以阻止这种情况。
android - Android - 如何将手机从沉睡中唤醒以拍照?
我想在几个小时内定期从 Android 设备的相机中拍照,以创建延时视频效果。
我设置了一个带有 AlarmManager.RTC_WAKEUP 标志的警报管理器,以每隔几分钟启动一次服务。
该服务持有一个部分唤醒锁,做一些工作,然后通过启动一个活动的警报管理器调用一个广播接收器。
活动被创建(或恢复),打开它自己的唤醒锁,并设置相机预览表面。一旦设置了表面,就会调用 SurfaceHolder 侦听器的 surfaceChanged() 方法,最终拍摄一张照片。
如果设备处于唤醒状态,则一切都按预期完美运行。但是如果设备处于睡眠状态,一旦 Activity 的 onResume() 方法完成,Activity 就会立即暂停。相机的预览表面永远不会完成初始化,也不会拍摄任何照片。
所以我的问题是:
有没有办法以编程方式唤醒手机?我什至尝试使用:
/li>
但是,如果它睡着了,这不会唤醒手机。
有什么方法可以在不使用预览表面视图的情况下拍照?
有没有不依赖异步回调的拍照方式?可以把所有代码都放在Activities onResume()方法中拍照吗?
有没有办法让 Activity 的 onResume() 方法运行足够长的时间,以便相机的预览有足够的时间来初始化和调用所有侦听器?
我正确使用了唤醒锁,并且我在清单文件中正确设置了所有权限。我的活动没有保持足够长的时间让异步侦听器正常工作。
为了使问题更加复杂,我正在尝试保持所有 Android 1.6 兼容,因为这是我可以访问的唯一测试设备。
这是令人沮丧的事情!
android - 唤醒锁定 android 服务重复
我有这个应用程序需要运行定期发出哔哔声的服务(后台)。电话需要每隔一分钟发出 5 秒的哔声(使用服务中的处理程序)。我已经实现了这个完美的服务,但是当手机进入深度睡眠模式时,这个处理程序的执行停止。使用SO 中问题的这个答案,我设法使用唤醒锁,它工作正常。但是当我明确地将手机置于深度睡眠模式时,处理程序停止执行。我在哪里将唤醒锁放在服务中。下面的代码片段。
android - 警报管理器和唤醒锁
我想在我的活动中使用警报管理器。我像这样在主要活动的 onPause 方法中设置了一个警报,
namaz_vakti_activity 是我的主要活动。onPause 和 onResume 方法属于它。
我还在 onResume 方法中使用了唤醒锁来防止出现睡眠模式。
代码的主要目的是在特定时间再次启动我的主要活动(namaz_vakti_activitiy)。如果设备未处于睡眠模式,则代码运行良好。但是,如果它处于睡眠模式,则会出现错误并停止工作。我认为解决方案很简单,而且我处于代码盲区。
android - 具有长寿 HttpConnection 的 Android 服务
具有长期连接的彗星服务器。我在服务中做这项工作。但是当 android 设备进入空闲模式时,我从服务启动的线程停止工作并且不会关闭连接或尝试新的连接。
有什么方法可以用于这些东西吗?
android - 哪些事件可以唤醒处于睡眠状态的 Android 设备?
我正在编写一个 Android 客户端应用程序,它使用 HTTP 长轮询(彗星)不断接收来自服务器的推送通知。
我不想一直保留 WakeLock,因为它会耗尽电池电量,但我需要确保设备即使在睡眠模式下也能收到通知。
我发现了这个问题:
其中“CommonsWare”提到非 Wifi 套接字上的传入数据包将唤醒设备。
所以我的解决方案如下所示:
但是在收到通知和要求唤醒锁之间有一点时间窗口,所以我的问题是,设备将保持这种唤醒状态多久?设备是否可以在此时间窗口内重新进入睡眠状态?
android - 广播接收器、服务和唤醒锁
我在广播接收器中接收到一个意图,然后我开始服务做更多的工作。现在如果设备处于睡眠状态并且发生这种情况怎么办,我是否必须获得唤醒锁(AlarmManger?),我为什么需要它?如果设备在没有唤醒锁的情况下进入睡眠状态,我的服务会停止运行吗?
android - Android系统在服务中杀死我的serversocket
我正在编写一个示例应用程序来在 Android 上创建一个服务器和一个连接到 PC 的客户端。我将 serversocket 放在服务的线程中。一切都很顺利,直到屏幕关闭几分钟后。这可能是 Android 杀死了我的服务器,我试图对我的代码设置一个完整的唤醒锁,但它不会再杀死了,但是,我确实希望屏幕像往常一样熄灭。这是我的代码: