1.在java类中oncreate方法中加入以下代码:
super.appView.setWebViewClient(new MyCordovaWebViewClient(this, super.appView));
2.创建类MyCordovaWebViewClient
/**
* 重载CordovaWebViewClient
*
*/
public class MyCordovaWebViewClient extends CordovaWebViewClient {
public MyCordovaWebViewClient(CordovaInterface cordova,
CordovaWebView view) {
super(cordova, view);
}
@SuppressLint({ "shouldInterceptRequest", "NewApi" })
// 3.0以后
@Override
public WebResourceResponse shouldInterceptRequest(WebView view,
String url) {
//这里面的条件可以自行写判断,以下是本人的判断条件
if (url.indexOf("cordova.js") > -1) {
return getWebResourceResponse("www/cordova.js");
} else if (url.indexOf("plugins/org.apache.cordova") > -1) {
String pluginUrl = "www/"
+ url.substring(url.indexOf("plugins"));
return getWebResourceResponse(pluginUrl);
}
return super.shouldInterceptRequest(view, url);
}
}
/**
* 获取js文件数据流
* @param url
* @return
*/
@SuppressLint("NewApi")
private WebResourceResponse getWebResourceResponse(String url){
WebResourceResponse res = null;
try {
InputStream instream = getResources().getAssets().open(
url);
res = new WebResourceResponse("text/javascript",
"UTF-8", instream);
} catch (IOException e) {
e.printStackTrace();
}
return res;
}