0

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

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

问题

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

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

4

2 回答 2

1

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

如果保持屏幕不变暗是您想要实现的目标,您可以尝试以下代码:

            //This is to keep the screen not dimming down.
        Window.AddFlags(WindowManagerFlags.KeepScreenOn);
于 2012-01-27T04:13:48.733 回答
0

即使屏幕关闭,唤醒锁也会让 CPU 在您的应用程序上运行,因此它会耗尽您的电池电量。当您不再需要应用程序在后台继续运行时(例如不再等待任何回调),您希望在唤醒锁上调用 release。

于 2020-04-30T23:08:09.300 回答