2013-08-29 3 views
22

Какая часть кода в четырех примерах проектов APK, перечисленных here для Google Glass, предотвращает затемнение экрана?GDK/APK для Google Glass - сохранить экран от затемнения

Когда я пишу свой APK и убираю его, через десять секунд без нажатия на экран экран становится тусклым, но не выключается.

Что я могу изменить или изменить код, я могу использовать, чтобы экран не был затемнен.

Спасибо! Должен ли быть тег Google-Glass-GDK? Если так, добавьте это, пожалуйста.

ответ

43

Есть несколько простых способов, которые вы можете сделать это без запроса блокировки бодрствование:

  • Добавьте атрибут android:keepScreenOn="true" в корневой элемент макета.

  • Или, сделайте следующее в вашем методе onCreate:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
+0

Это w орков, поддержанных. Что в примерах приложений вызывает подобное поведение? Секундомер имеет первый, макет трюк, так что это очевидно, но Compass не имеет ни одного из трюков, разве это сообщение датчика постоянно переустанавливает десять секундных часов? Спасибо за разъяснения. –

+0

В примере Compass также используется атрибут layout; см. https://github.com/googleglass/apk-compass-sample/blob/master/res/layout/layout_compass.xml, где установлен параметр 'android: keepScreenOn'. –

+4

Я не могу заставить любое из этих решений работать, экран продолжает мерцать. Ссылка на образец проекта ссылается на файл, который больше не существует, и я не могу найти упомянутую настройку где-либо в новом коде. Есть ли способ держать экран включенным или он был брошен по какой-то причине? –

2

Единственный способ, который работал для меня, приобретая wakeLock:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK , TAG); 
wakeLock.acquire(WAKE_LOCK_DURATION_IN_MILLIS); 

Вам также необходимо разрешение для этого:

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

это работает для меня на моих стеклянных устройствах –

+0

Это работает для меня, так как приложение Glass начинается с сервиса и использует SurfaceHolder для хранения TimeCard. Не удается найти действие для вызова getWindow() –

Смежные вопросы