Ошибка Java: WebView navigator.permissions is undefined как поправить?

Сайт использует

navigator.permissions.query({ name: 'accelerometer' })
navigator.permissions.query({ name: 'magnetometer' })
navigator.permissions.query({ name: 'gyroscope' })

Однако я заметил, что в WebView navigator.permissions является undefined. Как это исправить и выдать сайту нужные ему права?

Вот почти полный код, который у меня есть на данный момент:

super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = findViewById(R.id.webview);

        WebSettings webSettings = webView.getSettings();
        webSettings.setDomStorageEnabled(true);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setGeolocationEnabled(true);

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                try {
                    webView.loadUrl("javascript:(function() {console.log(navigator.permissions);})()");
                    
                } catch (Exception e) {
                    e.printStackTrace();
                }
                super.onPageFinished(view, url);
            }

            @SuppressLint("WebViewClientOnReceivedSslError")
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
                // super.onReceivedSslError(view, handler, error);
            }
        });

        webView.setWebChromeClient(new WebChromeClient() {
            public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
                callback.invoke(origin, true, false);
            }
        });

        webView.loadUrl("https://xyz.net/");

Ответы (0 шт):