Я надеюсь адаптировать свое приложение, полностью основанное на WebView, чтобы Google Assistant мог читать содержимое. Это новая функция, которая подробно описана здесь: https://www.blog.google/products/assistant/easier-access-web-pages-let-assistant-read-it-aloud/
В настоящее время я просто пытаюсь заставить ее сначала что-то прочитать, поэтому у меня очень простая настройка приложения с использованием этого макета :
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
В упражнении я попытался установить в приложении тонну различных WebViewSettings
, но пока ничего не помогло, и Google Assistant говорит, что страница не поддерживается; однако, когда я открываю ту же самую страницу в Chrome, она может прочитать ее совершенно нормально. Кроме того, если я открою эту страницу в другом приложении (например, Gmail), которое использует пользовательские вкладки Chrome, оно также сможет ее прочитать. Вот мой код для действия, с прокомментированным кодом, являющимся каждой (может быть, больше) настройкой, которую я пробовал:
class FullscreenActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fullscreen)
webView.webChromeClient = WebChromeClient()
webView.settings.javaScriptEnabled = true
// webView.settings.allowFileAccess = true
// webView.settings.allowContentAccess = true
// webView.settings.domStorageEnabled = true
// webView.settings.javaScriptCanOpenWindowsAutomatically = true
// webView.settings.useWideViewPort = true
// webView.settings.allowFileAccessFromFileURLs = true
// webView.settings.allowUniversalAccessFromFileURLs = true
// webView.settings.databaseEnabled = true
// webView.accessibilityDelegate = View.AccessibilityDelegate()
webView.loadUrl(url)
}
}
Если у вас есть какие-либо идеи о том, что должно произойти, чтобы это разрешить в приложении я был бы очень признателен. Спасибо!