将javascript作为字符串传递给变量

时间:2013-04-22 05:34:39

标签: javascript android asp.net

快速详细信息:我正在使用在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是在新线程上执行的。是否有可能做到这一点?

1 个答案:

答案 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()方法。希望这会有所帮助。