0
我获得超过20个错误与味精Google分析:
RuntimeException (@android.os.PowerManager$WakeLock:release:***)
的Android OS 2.3 *
,谁受得了解释我 - 如何解决问题&为什么应用程序崩溃?
我的代码:
private PowerManager.WakeLock wakeLock;
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
PowerManager pm = (PowerManager) activity.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "chat");
}
@Override
public void onStart() {
super.onStart();
wakeLockToggle(true);
}
@Override
public void onStop() {
super.onStop();
wakeLockToggle(false);
}
private void wakeLockToggle(boolean on){
if(wakeLock == null) return;
try {
if(on && !wakeLock.isHeld()){
wakeLock.acquire(200000);
}
if(!on && wakeLock.isHeld()) {
wakeLock.release();
}
}catch(Throwable ignore){}
}
有什么不对,我没有?
因为我想保持屏幕,但我不想保持屏幕上,直到用户退出的应用程序,因此我使用唤醒后,N *磨机自动释放。 – IceJOKER
在N *时间内以及用户关闭应用程序或手动激活屏幕后,屏幕是否保持另一种方式 – IceJOKER
@IceJOKER:请参阅我的修订答案。我仍然不完全确定为什么你想在用户离开你的应用程序之后继续使用WakeLock? –