1

我有一个应用程序使用 WebView 加载包含下拉列表的页面(选择选项):
<select id='num'> <option value='10'>10</option> <option value='20'>20</option> <option value='50'>50</option>

WebView 有getSettings().setJavaScriptEnabled(true);
当 Talkback 为 ON 时,我无法选择其他选项 20 或 50(默认选择 10)。对讲会读取选项弹出窗口中的所有选项(10,20,50),但在双击选择一个选项时,它只是关闭弹出窗口而不选择该选项。
我已经用 Nexus 4(Android 4.4.4) 和 Samsung S5(Android 4.4.2) 进行了测试。

我提到setJavaScriptEnabled设置的原因是删除此设置后,它可以正常工作。
请帮忙。

注意:行为似乎不一致。它有时会被选中,但大多数时候不会。

在进一步调查中,我发现在 Android Chrome浏览器中加载我的网页也会导致同样的问题。从内容设置中取消选中启用 JavaScript选项可解决此问题。

更新:在Android 4.0(ICS) 和 Android 4.1(Jelly bean)上测试了我的应用程序。选择下拉选项时,两者都可以正常工作,无论设置增强 Web 可访问性或启用/禁用注入 Web 脚本。

还在 Moto G Android 5.0.2上进行了测试。一切正常。

我想知道这是不是一个Android 4.4(KITKAT)特定问题?
有什么解决方法吗?

4

1 回答 1

1

我在 Android 4.4.4 的 Nexus 7 上遇到了完全相同的问题:TalkBack 读取所有选择选项,但无法选择它们。和你一样,它适用于 Android 5.1.1 的 Nexus 4。

为了解决这个问题,我使用了Crosswalk,它为你的应用程序提供了一个现代的 Chrome webview,而不是使用每个设备的 webview。

唯一的缺陷是它为您的 APK 增加了大约 20mb(实际上,您将拥有 2 个 APK,一个用于 X86,另一个用于 ARM 架构)。

于 2015-07-08T13:49:23.633 回答