Невозможно ввести текстовое поле WebView на Amazon Fire Stick - PullRequest
0 голосов
/ 04 октября 2019

Я создал очень простое приложение, которое использует Android TV Activity и запускает веб-просмотр onCreate.

Приложение загружается нормально, но у меня есть текстовое поле, в которое я пытаюсь ввести пользовательский ввод, которое не позволяет мне вводить текст. Я нажал все кнопки вверх / вниз на пульте Firestick, но пользовательский интерфейс никогда не фокусируется на текстовом поле и никогда не поднимает виртуальную клавиатуру. Однако текстовое поле работает в моем симуляторе под управлением версии Android TV, но не на Amazon Fire Stick.

Я заметил, что когда я нажимаю несколько кнопок вверх / вниз на пульте и затем нажимаю клавишу ввода, приложение фактически нажимает на какой-то элемент в одном из меню Fire Stick, который полностью отделен от моего приложения. Как будто мое приложение в целом не сфокусировано должным образом.

Я добавил autofocus в мое поле ввода HTML, но это тоже не сработало. Я не вижу никаких ресурсов для этой проблемы.

Вот моя onCreate функция.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    setContentView(R.layout.activity_main);

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

    WebView myWebView = (WebView) findViewById(R.id.webView);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    myWebView.loadUrl("https://example.com/connect");
    myWebView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView viewx, String url) {
            viewx.loadUrl(url);
            return false;
        }
    });

}

Вот мой main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/main_browse_fragment"
        android:name="com.desotomatrix.digitalsignageplayer.MainFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        tools:deviceIds="tv"
        tools:ignore="MergeRootFrame">

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:focusable="true"
            tools:layout_editor_absoluteX="138dp"
            tools:layout_editor_absoluteY="363dp" />

   </fragment>
...