myWeb = (WebView) findViewById(R.id.webView1);
myWeb.getSettings().setJavaScriptEnabled(true);
myWeb.getSettings().setDomStorageEnabled(true);
myWeb.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 1000);
}
});
myWeb.loadUrl("/mnt/extSdCard/THEWEB/hi.html");
//file:///android_asset/this.html可以在webview中运行但不能在 externalbrowser ///mnt/extSdCard/THEWEB/hi.html可以运行 外部但不在网络视图中
File file=new File("/mnt/extSdCard/THEWEB/hi.html");
Intent i = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
i.addCategory(Intent.CATEGORY_BROWSABLE);
i.setDataAndType(Uri.fromFile(file), "application/x-webarchive-xml");
startActivity(i);
答案 0 :(得分:0)
第一个选项(/file:///android_asset/this.html)它在本地浏览器中工作,因为该文件位于包文件夹中。这是私有的,无法通过其他应用程序(包括外部浏览器)从外部访问。
你写的第二个是将文件放在共享文件夹中,这可以从内部webview和外部webview访问。特别是代码的问题是路径:
"/mnt/extSdCard/THEWEB/hi.html"
它需要像:
"file:///mnt/extSdCard/THEWEB/hi.html"
你可以使用甚至更好:
"file://"+Environment.getExternalStorageDirectory()+"/THEWEB/hi.html"
并且您的应用应该在清单中添加权限以访问外部存储:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />