安卓系统中wakelock的问题?

问题描述 投票:0回答:2

我开发了一个使用广播接收器的应用程序,我需要始终唤醒我的应用程序,所以我使用了wakelock。

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();

问题

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

2.如果我打电话 w1.acquier() ,是需要释放w1(ie w1.release)

android-wake-lock
2个回答
1
投票

我不明白你的第一个问题是什么。我想这是一个事实,如果你想继续唤醒你的应用程序?

如果你想实现的是保持屏幕不变暗,你可以试试这个代码。

            //This is to keep the screen not dimming down.
        Window.AddFlags(WindowManagerFlags.KeepScreenOn);

0
投票

唤醒锁会让你的应用程序在屏幕关闭的情况下也能保持cpu运行 所以会严重消耗你的电池。当你不再需要应用程序继续在后台运行时,你要调用释放你的唤醒锁(例如不再等待任何回调)。

© www.soinside.com 2019 - 2024. All rights reserved.