Код: Выделить всё
performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN);
На мой взгляд - Powermanager, используя Wakelock, но обычно это для поддержания экрана , . Мне удалось заставить экран отключить, если датчик близости активируется, когда нажата на носитель с помощью следующего: < /p>
powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "myApp:WakeLock");
wakeLock.acquire(2*1000L /*2 seconds*/);
< /code>
Однако я все еще пытаюсь выяснить, как это работает. Экран обычно просыпается после того, как через 2 секунды истечет срок срока действия Wakelock, что имеет смысл, но я не уверен, как правильно во время/после ключи-я не уверен в том, что просто поместить таймер Wakelock в более высокую стоимость, особенно если он будет работать с батареей вниз, если Wakelock является активным в течение более длительных периодов. Я также проверил флаг powermanager.partial_wake_lock < /code>, но это просто разбудит экран. /> < /li>
< /ul>
Любой вход будет оценен, особенно если бы я мог каким -то образом получить опцию датчика близости - таким образом, на экране на экране будет гипотетически, если пользователь активно использует устройство, но автоматически останется в их кармане.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... on-android
Мобильная версия