pie - android release notes
Método correcto para setKeepScreenOn/FLAG_KEEP_SCREEN_ON (5)
Como dijo Hawk pero mal explicado.
También puede usar FLAG_KEEP_SCREEN_ON
en su archivo de diseño XML.
Tenga en cuenta el android:keepScreenOn="true"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:keepScreenOn="true"
android:orientation="vertical" >
<!-- whatever is in your layout -->
</LinearLayout>
Ahora he escrito todas las opciones para mantener la pantalla en una publicación de blog:
http://blog.blundellapps.com/tut-keep-screen-onawake-3-possible-ways/
Estoy utilizando el método setKeepScreenOn (verdadero) y no he podido averiguar cómo llamar esto en relación con la Actividad actual (que tiene un conjunto de vistas de contenido). Pude hacer que funcionara al llamar a uno de mis botones, que siempre está presente en la vista, pero esto se siente mal, y estoy seguro de que debe haber una manera de evitar esto. Intenté hacer referencia al enfoque actual de esta manera:
getCurrentFocus().setKeepScreenOn(true);
pero que arrojó una NullPointerException. Tal vez no había un enfoque actual. Entonces, ¿alguien puede decirme cómo puedo hacer referencia a la clase de vista en la que estoy trabajando? Gracias :)
De acuerdo con Google Docs para desarrolladores de Android, tienes dos formas de hacer esto:
Primera forma:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
La segunda forma es agregar en su diseño de archivo xml este atributo: android:keepScreenOn="true"
Establecer android:keepScreenOn
en XML
Intenta esta respuesta :
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow
es un método definido para actividades, y no requerirá que primero encuentre una View
.
Si lo estás haciendo en una clase amplía la vista. Puedes simple:
this.setKeepScreenOn(true);