PowerManager.newWakeLock()抛出IlleagelArgumentException [英] PowerManager.newWakeLock() throws IlleagelArgumentException
本文介绍了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屋!
查看全文