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? –