gpt4 book ai didi

javascript - 在不隐藏键盘的情况下从 WebView 评估 Javascript

转载 作者:行者123 更新时间:2023-11-30 02:43:25 24 4
gpt4 key购买 nike

我有一个 WebView,它会定期评估一个 javascript fragment ,直到它返回某个值。

目前根据 SDK 版本使用两种不同的方式完成此操作。如果应用程序在 Android API 为 19 或更高版本的设备上运行,我们将调用:

webview.evaluateJavascript('javascript:myFunctionHere()', null)

如果 Android API 版本等于或介于 15 或 8(最低 SDK 版本)之间,我们将使用反射来调用:

stringByEvaluatingJavaScriptFromString('javascript:myFunctionHere()')

来自 WebViewCore 使用的 BrowserFrame 类。

我需要的是一种针对 API 版本 16、17 和 18 执行此操作的方法。他们重写了 WebView 类并删除了 mWebViewCore 字段,并且他们直到 API 19 才添加 evaluateJavascript()。

使用 WebView.loadURL() 不是一个选项,因为这会隐藏设备上的软键盘(因为 webview 检测到它正在被重定向或其他原因)使得无法在文本框中输入文本。

有没有办法在不隐藏软键盘的情况下评估现有 webview 上的 javascript?

最佳答案

没关系,解决了!

我从错误的 Angular 处理了这个问题。我没有定期从 java 代码中轮询 javascript 中的函数,而是在 javascript 中创建了一个函数,如果它仍然需要轮询并调用 javascript 接口(interface)类中的方法,如果我想要返回的值不是空。

这样一来,我只需要在页面完全加载后调用 loadUrl() 即可开始投票,然后让 javascript 完成剩下的工作。

关于javascript - 在不隐藏键盘的情况下从 WebView 评估 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25448555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com