Экран Keeping на, который путь?

Я нашел два пути при хранении экрана на:

Сначала каждый более прост:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Второй использует wakelock и требует дополнительного разрешения:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);  
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");

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

9
задан Jan S. 5 May 2010 в 09:09
поделиться

1 ответ

Вы должны увидеть Coding for (Battery) Life Презентация Google IO, слайд 16

Если вы не хотите, то: вы можете сделать первый в XML для любого макета элемент, и его рекомендуется использовать (не знаю, как применить его к окну, может быть так же плохо, как wakelock, не знаю).

XML:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true">

Флаг окна:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
23
ответ дан 4 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: