PowerManager.newWakeLock()抛出IlleagelArgumentException [英] PowerManager.newWakeLock() throws IlleagelArgumentException

查看:584
本文介绍了PowerManager.newWakeLock()抛出IlleagelArgumentException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想然而AQUIRE唤醒锁,当我打电话 PowerManager.newWakeLock()我收到IlleglArgumentException。

下面是code我用它来获得

 私人无效setWakeLock(上下文的背景下)
{
    电源管理器PM =(电源管理器)上下文
    .getSystemService(Context.POWER_SERVICE);
    SoundAlarmActivity.WakeLock = pm.newWakeLock(
    PowerManager.ACQUIRE_CAUSES_WAKEUP
            | PowerManager.ON_AFTER_RELEASE,报警);
    SoundAlarmActivity.WakeLock.acquire();
}
 

这里是logcat的:

  12月九号至28日:53:09.704:ERROR / AndroidRuntime(702):java.lang.IllegalArgumentException异常
。12月九号日至28日:53:09.704:ERROR / AndroidRuntime(702):在android.os.PowerManager $ WakeLock< INIT>(PowerManager.java:223)
12月9日至二十八号:53:09.704:ERROR / AndroidRuntime(702):在android.os.PowerManager.newWakeLock(PowerManager.java:365)
 

解决方案

试试这个:

 私人无效setWakeLock(上下文的背景下)
{
    电源管理器PM =(电源管理器)上下文
    .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而定义唤醒的类型锁定你想要的。

I am trying to aquire a wake lock however when I call PowerManager.newWakeLock() I receive a IlleglArgumentException.

Here is the code I use to get the

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();
}

And here is the logcat:

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)

解决方案

Try this:

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 does not work with partial wake locks so you have to make sure you are using a FULL_WAKE_LOCK while defining the type of Wake Lock you want.

这篇关于PowerManager.newWakeLock()抛出IlleagelArgumentException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆