快速详细信息:我正在使用在Android应用程序WebView上显示的ASP.NET MVC 4
在我的网络应用程序中,我有类似于以下的javascript
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
我希望通过字符串'toast'将当前用户帐户传递给android。
我已经尝试了几种不同的方法将帐户名称作为字符串传递给android,但没有一种方法有效,我认为这是因为javascript是在新线程上执行的。是否有可能做到这一点?
答案 0 :(得分:0)
我正在编辑之前的答案,因为这个问题的要求与提出的标题非常不同。这不是关于如何将Javascript变量作为字符串传递给android的(java)类。这更像是与Android的框架工作和ASP.NET Web服务之间的交互相关的问题。所以,特此我发布了一个广泛处理这个主题的链接(一篇写得很好的文章)http://www.codeproject.com/Articles/304302/Calling-Asp-Net-Webservice-ASMX-From-an-Android-Ap。 [注意:此解决方案利用KSOAP库jar for android平台。 ]
基本上,您希望让其中一个Web服务方法返回登录用户,此方法可以由Android的本机java类调用(例如,让我们称之为'soapActivity')。现在,为了将这些信息从java类'soapActivity'传递给webView,请使用webView实例变量的addJavascriptInterface()方法。希望这会有所帮助。