我正在使用
WebView
和大量的JavaScript在我的本地应用程序中。如果 JS 侧想要调用本地函数,可以使用JavaScriptInterface
,这相当顺畅。然而,如果本地想要调用 JS 函数,则不那么容易。到目前为止,我尝试过两种解决方案:
- 使用带有
javascript:something()
URL的loadUrl
方法进行调用 -- 这是不可接受的,因为当用户在键盘上输入时,WebView
在函数执行后会将其隐藏。 - 每 x 秒向本地端请求函数(使用
String
对象表示)并对结果调用eval()
-- 有时在将间隔设置为1秒后,我会在50-60秒后收到这些请求!
Socket
/HTTP
/其他服务器,并允许WebView
访问它。我正在寻找任何提示,如何(如果可能)做到这一点。