首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerManager.newWakeLock()抛出IlleagelArgumentException

PowerManager.newWakeLock()抛出IlleagelArgumentException
EN

Stack Overflow用户
提问于 2010-09-28 20:58:22
回答 2查看 6.4K关注 0票数 3

我正在尝试获取一个唤醒锁,但是当我调用PowerManager.newWakeLock()时,我收到了一个IlleglArgumentException。

下面是我用来获取

代码语言:javascript
复制
private void setWakeLock(Context context)
{
    PowerManager pm = (PowerManager) context
    .getSystemService(Context.POWER_SERVICE);
    SoundAlarmActivity.WakeLock = pm.newWakeLock(
    PowerManager.ACQUIRE_CAUSES_WAKEUP
            | PowerManager.ON_AFTER_RELEASE, "Alarm");
    SoundAlarmActivity.WakeLock.acquire();
}

下面是logcat:

代码语言:javascript
复制
09-28 12:53:09.704: ERROR/AndroidRuntime(702): java.lang.IllegalArgumentException
09-28 12:53:09.704: ERROR/AndroidRuntime(702):     at android.os.PowerManager$WakeLock.<init>(PowerManager.java:223)
09-28 12:53:09.704: ERROR/AndroidRuntime(702):     at android.os.PowerManager.newWakeLock(PowerManager.java:365)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-28 21:06:36

试试这个:

代码语言:javascript
复制
private void setWakeLock(Context context)
{
    PowerManager pm = (PowerManager) context
    .getSystemService(Context.POWER_SERVICE);
    SoundAlarmActivity.WakeLock = pm.newWakeLock(
    PowerManager.FULL_WAKE_LOCK |
        PowerManager.ACQUIRE_CAUSES_WAKEUP
            | PowerManager.ON_AFTER_RELEASE, "BusSnoozeAlarm");
    SoundAlarmActivity.WakeLock.acquire();
}

PowerManager.ACQUIRE_CAUSES_WAKEUP不能处理部分唤醒锁,所以在定义你想要的唤醒锁类型时,你必须确保你使用的是FULL_WAKE_LOCK。

票数 15
EN

Stack Overflow用户

发布于 2010-09-28 21:07:46

你应该定义你想要的“种类”的唤醒锁。您给出的两个标志只是对级别的补充:

代码语言:javascript
复制
[WakeLock level] Flag Value | CPU | Screen | Keyboard
-----------------------------------------------------
PARTIAL_WAKE_LOCK           | On* | Off    | Off
SCREEN_DIM_WAKE_LOCK        | On  | Dim    | Off
SCREEN_BRIGHT_WAKE_LOCK     | On  | Bright | Off
FULL_WAKE_LOCK              | On  | Bright | Bright

注意:从API级别17开始,除PARTIAL_WAKE_LOCK以外的其他唤醒级别都被弃用,您应该改用LayoutParams.FLAG_KEEP_SCREEN_ON

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3812919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档