2016-09-16 5 views
0

사용자가 버튼을 클릭 할 때 화면을 끄고 싶습니다. PowerManager 클래스로 처리하려고하지만 좋은 결과를 얻지 못합니다. 안드로이드에서 화면을 끄는 가장 좋은 방법은 무엇입니까?프로그래밍 방식으로 안드로이드 화면을 끌 수 있습니까?

PowerManager pm = (PowerManager)this.getSystemService(
      Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(
      PowerManager.PARTIAL_WAKE_LOCK, 
      ""); 
    wl.acquire(); 

하지만이 코드 작동 : 나는 아래의 코드를 사용하고

WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; 
    params.screenBrightness = 0; 
    getWindow().setAttributes(params); 

그러나이 만 0 이에 밝기 설정이 코드 번호 화면을 끕니다.

고마워요.

+0

기기를 끄거나 잠금을 설정 하시겠습니까? – Aspicas

+0

http://stackoverflow.com/a/30365638/2633909 이것을 확인하십시오 – DKV

+0

[Android : 프로그래밍 방식으로 화면을 켜고 끄는 방법?] (http://stackoverflow.com/questions/9561320/android-how- to-turn-screen-on-off-programmatically) –

답변

2

시스템 화면 끄기 시간을 무시하여 화면을 끌 수 있습니다.

먼저 GET 시스템 끌 시간

int defaultTurnOffTime = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000); 

는 시간

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 1000); 

떨어져 당신의 차례를 넣고 화면이 꺼진 경우, 기본값은 시간

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, defaultTurnOffTime); 

추가 해제 권한 아래

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
관련 문제