2

我有一个查询。我可以将值从我的 html 页面传递到我的活动文件吗?

html 文件位于 assets/www 文件夹和 Activity 文件位于 src/package_name

4

2 回答 2

7

您需要使用 JavaScriptInterface。在您的 Web 视图中添加此接口。

  1. 制作 JavaScriptInterface 类(在这里你可以为你的类使用任何名称)

     public class JavaScriptInterface {
         Context mContext;
    
         /** Instantiate the interface and set the context */
         JavaScriptInterface(Context context) {
             mContext = context;
         }
    
         /** Get passed value from the web page here */
         public void showMyValue(String passedValue) {
             android.util.Log.i("TAG", "I Got this value:" + passedValue);
         }
     }
    
  2. 在您的网络视图中添加此界面,例如

     WebView webView = (WebView) findViewById(R.id.webview);
     webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
    
  3. 现在在您的网页中,调用此方法以传递您的值并使用该值执行需要完整的操作

     <input type="button" value="ClickMe" onClick="passValueToAndroid('Hello Android!')" />
     <script type="text/javascript">
     function passValueToAndroid(yourPassingValue) {
          Android.showMyValue(yourPassingValue);
      }
     </script>
    
于 2013-01-07T05:27:11.847 回答
1

是的,您可以将任何变量从 html 传递到活动。

您需要创建 JavaScript 接口以在 html 和活动之间进行交互,

有关实现细节,请参阅此链接

http://developer.android.com/guide/webapps/webview.html

于 2012-12-17T11:17:04.233 回答