Ответ 1
Попробуйте этот ответ:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow
- это метод, определенный для действий, и вам не потребуется сначала искать View
.
Я использую метод setKeepScreenOn (true) и не смог выяснить, как вызвать это по отношению к текущему Activity (который имеет набор содержимого). Я смог заставить его работать, называя его на одной из моих кнопок, которая всегда присутствует в представлении, но это кажется неправильным - и я уверен, что должен быть способ обойти это. Я попытался ссылаться на текущий фокус следующим образом:
getCurrentFocus().setKeepScreenOn(true);
но это вызвало исключение NullPointerException. Возможно, в настоящее время не было никакого внимания. Итак, может ли кто-нибудь сказать мне, как я могу ссылаться на класс представления, в котором я работаю внутри? Спасибо:)
Попробуйте этот ответ:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow
- это метод, определенный для действий, и вам не потребуется сначала искать View
.
Как сказал Хоук, но плохо объяснил.
Вы также можете использовать FLAG_KEEP_SCREEN_ON
в вашем файле макета XML.
Обратите внимание на 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>
Теперь я написал все варианты сохранения экрана в блоге:
http://blog.blundellapps.com/tut-keep-screen-onawake-3-possible-ways/
Установить android:keepScreenOn
в XML
Если вы делаете это в классе extends View. Вы можете просто:
this.setKeepScreenOn(true);
В Google Docs для разработчиков Android у вас есть два пути:
Первый способ:
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);
}
Второй способ - добавить в свой XML-макет этот атрибут:
android:keepScreenOn="true"