Wake Lock не затемняет экран

Я пишу приложение для Android и хотел бы, чтобы мой экран затемнялся после получения блокировки пробуждения. Однако мой экран не тускнеет. Просто продолжает (не вылетает) как ни в чем не бывало. Я знаю, что блокировка пробуждения НАЧАЛА установлена ​​из-за некоторого тестового кода, не показанного здесь. Ниже приведен мой код:

//Relevant declarations:
    PowerManager.WakeLock w1;
    PowerManager pm;

public void onClick(View view) {
pm = (PowerManager) getSystemService((Context.POWER_SERVICE));
w1 = pm.newWakeLock((PowerManager.SCREEN_DIM_WAKE_LOCK), "My Tag");
w1.acquire(); //DOES NOT DIM
}

public void onShake () {
if (w1.isHeld())
{
w1.release();
}

//Manifest:
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

Любые идеи? Спасибо.


person s123    schedule 26.02.2015    source источник


Ответы (2)


w1.acquire(); //DOES NOT DIM

Если вы ожидаете, что он сразу же погаснет, это не так. SCREEN_DIM_WAKE_LOCK означает «изменить текущую яркость на тусклую». Это означает, что «нам нужно, чтобы экран был как минимум тусклым». Любое другое действие, например использование устройства, может привести к тому, что экран станет полностью ярким.

person CommonsWare    schedule 26.02.2015
comment
Понял, спасибо. Просто нужно было набраться терпения и подождать некоторое время, прежде чем, наконец, погаснет. Встряхнув его, вы сняли блокировку пробуждения и сразу же снова осветили экран. - person s123; 26.02.2015

Добавьте следующее разрешение в свой манифест:

<uses-permission android:name="android.permission.WAKE_LOCK" />
person xry    schedule 26.02.2015
comment
Я сделал это. Забыл упомянуть. - person s123; 26.02.2015