Как установить flag_keep_screen_on из JavaScriptAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как установить flag_keep_screen_on из JavaScript

Сообщение Anonymous »

Я хотел бы включить или отключить функцию screen_on из JAvascript внутри веб-просмотра.
Вот как я пытался это сделать

Код: Выделить всё

@JavascriptInterface
fun setScreenOn(screenOn: Boolean) {
val window = m_Activity.window
if (screenOn) {
Log.d("screen", "addFlag")
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
} else {
Log.d("screen", "clearFlag")
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
К сожалению, это дает мне исключение Java.

Код: Выделить всё

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. Expected: main Calling: JavaBridge
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:11023)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:2473)
at android.view.View.requestLayout(View.java:28020)
at android.view.View.setLayoutParams(View.java:20530)
at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:464)
at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:165)
at android.app.Activity.onWindowAttributesChanged(Activity.java:4364)
at android.view.Window.dispatchWindowAttributesChanged(Window.java:1323)
at com.android.internal.policy.PhoneWindow.dispatchWindowAttributesChanged(PhoneWindow.java:3193)
at android.view.Window.setFlags(Window.java:1309)
at android.view.Window.clearFlags(Window.java:1283)

Код: Выделить всё

Only the original thread that created a view hierarchy can touch its views.
Означает ли это, что невозможно изменить FLAG_KEEP_SCREEN_ON из Javascript? Или есть способ обойти это?

Подробнее здесь: https://stackoverflow.com/questions/792 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»