android js調用

package com.example.htmelinterface;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
    private WebView wView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wView = (WebView) findViewById(R.id.webview);
        // 打開本包內asset目錄下的index.html文件
        wView.loadUrl(" file:///android_asset/test.html ");
        wView.getSettings().setJavaScriptEnabled(true);
        wView.addJavascriptInterface(new JavaScriptinterface(this), "android");
        wView.setWebViewClient(new WebViewClient());
        // 打開本地sd卡內的index.html文件
        // wView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html");
        // 打開指定URL的html文件
        // wView.loadUrl(" http://m.oschina.net");
    }

}

package com.example.htmelinterface;
import android.webkit.JavascriptInterface;
public class JavaScriptinterface {
    private MainActivity mainActivity;
    public JavaScriptinterface(MainActivity mainActivity) {
        this.mainActivity = mainActivity;
    }
    /**
     * 與js交互時用到的方法,在js裏直接調用的
     */
    @JavascriptInterface
    public void backHome() {
        mainActivity.finish();
    }
}


<!DOCTYPE html>
<html>
<head>
  <script  type="text/javascript">
function backHome() {       
             android.backHome();
     }
  </script>
 </head>
 <body>
<input type="button" value="調用" onClick="backHome()"/>
 </body>
</html>

 #----------begin js交互防混淆------------
-keepattributes JavascriptInterface
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class webview的類路徑$AppAndroid{
   <fields>;
   <methods>;
   public *;

源碼下載地址 http://download.csdn.net/detail/anroidyanyou/9675338


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章