androidwebview中的Javascript

androidwebview中的Javascript,javascript,android,android-webview,Javascript,Android,Android Webview,我想做些有点棘手的事。我有一个活动,里面有一个网络视图。 此web视图正在加载一个具有一些javascript函数的外部html文件 我的活动定期生成一些REULT,我希望在javascript函数中访问这些结果。我认为将输出结果写入文件并在javascript端读取可能是一个解决方案。但我不确定 有办法做这样的事吗 我知道我们可以从javascript导航到android函数,但这并不是我所需要的 谢谢..如果您只需要一次结果,并且是动态的,那么您可以尝试不将结果写入文件,而是将其作为java

我想做些有点棘手的事。我有一个活动,里面有一个网络视图。 此web视图正在加载一个具有一些javascript函数的外部html文件

我的活动定期生成一些REULT,我希望在javascript函数中访问这些结果。我认为将输出结果写入文件并在javascript端读取可能是一个解决方案。但我不确定

有办法做这样的事吗

我知道我们可以从javascript导航到android函数,但这并不是我所需要的


谢谢..

如果您只需要一次结果,并且是动态的,那么您可以尝试不将结果写入文件,而是将其作为javascript注入WebView。例如,您可以在页面中添加一个函数:

function newData(jsonObj) {
    ...
}
而不是写入一个文件,你可以用你的实际数据来调用它

webview.loadUrl("javascript:(newData({a:1, b:2,...}))");  

不确定JS是否可以读取本地存储的文件LyJS可以读取本地文件。您可以将js文件放入应用程序的assets文件夹以及要读取的文件中,它就会这样做。我的应用程序这样做是为了获取卫星位置,在js中完成的计算然后被我的android网络视图读取并显示在屏幕上screen@Katana24事实上,我正试图做完全相同的事情。获取gps位置并在地图上显示。但正如我所知,我无法写入资产文件夹中的文件?不是资产文件夹(或应用程序本身的任何地方),而是本地文件存储目录。因此,如果我错了,请纠正我-您的活动获取某个内容的lat和long并将其写入文件。那么您想要一个javascript文件从该文件中读取,对吗?我如何从android活动调用javascript函数并注入jsonObj参数?在answer@Flöcys-我不确定它是否有效。因为我已经用webview.loadDataWithBaseURL加载了webview。然后再次调用loadUrl可能不起作用。我会试试的。根据我的建议,它应该会起作用的。非常感谢,它很好用!这绝对是比使用临时文件更好的解决方案。