Articles of wakelock

初学者问题:Wakelocks

我是WakeLock的新概念,需要你的帮助。 问题: 我认为WakeLock是某种types的锁,当执行代码持有时会阻止设备进入hibernate状态。 如果设备已经处于睡眠/待机模式,那么代码将会执行呢? 假设它永远不会获得一个WakeLock? 当一个长时间运行的任务(abt 7-8秒)在后台线程(AsyncTask)中完成时,我应该为打一个WakeLock而烦恼吗? AsyncTask已经为我获得了吗? 链接官方文件和wakelocks书面表示赞赏。 谢谢。

唤醒lockingandroid服务重复

我有这个应用程序需要运行一个服务(背景),周期性地发出嘟嘟声。 手机需要每隔一分钟哔一声,持续5秒钟(在服务中使用一个处理程序)。 我已经实现了这个完美的服务,但是当手机进入深度睡眠模式时,这个处理程序的执行停止。 在这个问题中使用这个答案,我设法使用唤醒锁,它工作正常。 但是,当我明确地把手机置于深度睡眠模式时,处理程序停止执行。 我在哪里放置唤醒服务。 下面的代码片段。 public class PlaySound extends Service{ PowerManager.WakeLock wl ; PowerManager pm; private SoundManager mSoundManager; boolean wakeUpFlag = false; @Override public void onCreate(){ super.onCreate(); mSoundManager = new SoundManager(); mSoundManager.initSounds(getBaseContext()); mSoundManager.addSound(1, R.raw.sound); } @Override public int onStartCommand(Intent intent, int flags, int startId) { startservice(); return START_STICKY; } private void startservice() { […]

“PowerManger.FULL_WAKE_LOCK已弃用”是什么意思?

我有这个代码: wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "MyWakeLock"); 而FULL_WAKE_LOCK已被删除,并且显示“PowerManger.FULL_WAKE_LOCK已弃用”。 代码正在工作。 但究竟是什么意思? 它可以唤起任何问题吗?

使用WakeLock保持stream播放

我有一个MediaPlayer运行在一个正在从URL(stream媒体)播放audio的服务中。 到目前为止,它似乎运行良好,甚至在手机待机时继续播放。 我目前没有获得一个唤醒锁。 我的问题是: 在我的情况下,实际上有必要获得一个唤醒锁吗? 如果有必要,我应该得到什么样的唤醒锁? 是的,这是wakelock的合法用例,因为我的用户明确地希望audio继续播放。

如何在睡眠模式下唤醒Android Wear?

当Android Wear进入睡眠模式(屏幕变暗)时,我的代码的某些部分不会执行。 我在后台服务中使用Timer来触发一些操作,比如将数据从磨损发送到移动设备,但数据不发送。 当我点击屏幕将其唤醒时,它会被发送。 当屏幕closures时,我也尝试使用Timer触发振动通知,但是直到我点击屏幕才会出现。 在debugging模式下(蓝牙或USB),数据发送和通知工作正常。 我怀疑这是因为当Android Wear处于睡眠模式时,它的CPU工作在最低水平,因为Timer仍在运行,但不适用于GoogleApiClient,IntentService或Notification。 我已经尝试了许多方法来唤醒CPU,比如AlarmManager,PowerManager,Wakelock,但是它并不适用于Android Wear。 任何人都遇到过这个问题? 解决办法是什么?

用户不活动时屏幕变暗

我有一个应用程序,用于说4个小时,但每5分钟用户需要input或阅读屏幕。 把手机睡觉和locking屏幕有点烦人。 所以我有两个select: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 它不会locking屏幕,但屏幕总是亮的,我想在没有任何活动的时候将其调暗。 只是因为电池的使用寿命,或者这4个小时没那么重要? 一个SCREEN_DIM_WAKE_LOCK的唤醒锁,它可以做我想要的,但是我被告知宁愿使用上面的选项1。 我可以以某种方式达到通缉目的吗?

如何禁用电源button?

是否有可能重写android电源button的function? 我想“禁用”电源button。 我的计划是重写此button的function,什么都不做({};)我的主要想法是禁用closures屏幕。 我想当有人按下电源button什么都没有发生。 我怎样才能做到这一点 ?

Android – 我怎样才能从困难的睡眠中唤醒手机拍照?

我想要在几小时内定期从Android设备的相机拍摄照片,以创build延时video效果。 我设置了一个AlarmManager.RTC_WAKEUP标志设置为每几分钟启动一个服务的报警pipe理器。 该服务持有一个部分唤醒锁,做一些工作,然后通过启动活动的闹钟pipe理器调用广播接收器。 活动创build(或恢复),打开自己的唤醒锁,并设置相机预览表面。 一旦表面被设置,SurfaceHolder监听器的surfaceChanged()方法被调用,最终拍摄一张照片。 如果设备清醒,一切都如预期的完美。 但是,如果设备处于睡眠状态,一旦Activity的onResume()方法结束,活动立即暂停。 相机的预览表面永远不会完成初始化,也不会拍摄任何照片。 所以我的问题是: 有没有办法以编程方式唤醒电话? 我甚至尝试使用: PowerManager powerManager = (PowerManager)this.getSystemService(Context.POWER_SERVICE); powerManager.userActivity(SystemClock.currentThreadTimeMillis(),false); 但是,如果它睡着了,它不会唤醒电话。 有没有办法拍照而不使用预览表面视图? 有没有办法拍摄不依赖于asynchronouscallback的图片? 我可以把所有的活动onResume()方法的代码拍照吗? 有没有办法让Activity的onResume()方法运行足够长时间,以便相机的预览有足够的时间来初始化和调用所有的监听器? 我正确使用wakelocks,并且我已经在清单文件中正确设置了所有权限。 我的活动不保持足够长的时间,以使asynchronous侦听器正常工作。 而为了解决这个问题,我正在努力保持Android 1.6兼容的一切,因为这是我唯一可以访问的testing设备。 这是令人沮丧的东西!

如何使Android设备持有到Internet的TCP连接而无需唤醒locking?

我希望我的应用程序通过移动连接连接到服务器,但是允许设备进入睡眠模式。 我希望它在IP包装到货时醒来。 如何才能做到这一点? 如何从互联网接收“中断”,而不消耗电池?

WakeLock未lockingGCM_LIB

我的android应用程序有如下的崩溃报告(非常罕见) java.lang.RuntimeException: WakeLock under-locked GCM_LIB at android.os.PowerManager$WakeLock.release(PowerManager.java:325) at android.os.PowerManager$WakeLock.release(PowerManager.java:300) at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:252) 像java.lang.RuntimeException:WakeLock under-locked C2DM_LIB ,我可以尝试〜catch或使用isHeld() 但我不确定这是最好的解决scheme,我想知道为什么会发生这种情况。 一些猜测是BroadcastReceiver和Service在http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4不同的过程。 但是这甚至可能吗? 我从来没有在清单中使用android:process,所以BroadcastReceiver和Service应该在同一个(主)进程中,不是吗?