2014-01-15 7 views
0

Я бы хотел установить экран при нажатии HOME_BUTTON.Set Screen off on click home button

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     System.out.println("home button"); 
     finish(); 
       WindowManager.LayoutParams params = getWindow().getAttributes(); 
       params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; 
       params.screenBrightness = 0; 
       getWindow().setAttributes(params); 

     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

Может ли один помочь мне спасибо

+0

Так что вы пробовали рядом поймать ключ домой? – WarrenFaith

+0

http://stackoverflow.com/questions/9294917/android-java-turn-screen-off – keshav

+0

@khouloudmejdoub вы должны добавить этот код к своему вопросу, а не как непрочитанный комментарий ... – WarrenFaith

ответ

0

общественного логический OnKeyDown (интермедиат KEYCODE, KeyEvent событие) {

if (keyCode == KeyEvent.KEYCODE_HOME) { 
    System.out.println("home button"); 
    DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 
    mDPM.lockNow(); 
    return true; 
} 
return super.onKeyDown(keyCode, event); 

}

Это заблокирует экран на печать кнопки дома.

+0

, когда я добавляю этот код этой ошибки Появится: вызвано: java.lang.SecurityException: нет активного администратора, принадлежащего uid 10004 для политики № 3 –

1

Finaly я получить решение

@Override 
protected void onResume() { 
    super.onResume(); 
    if (PreferenceHelper.getScreenLock(Recognition.this)) { 
     wakeLock.acquire(); 
    } 
    WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.screenBrightness = 1; 
    getWindow().setAttributes(params); 

}

@Override 
protected void onPause() { 
    super.onPause(); 
    if (PreferenceHelper.getScreenLock(Recognition.this)) { 
     wakeLock.release(); 
    } 
    WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.screenBrightness = 0; 
    getWindow().setAttributes(params); 

}