webview无法从SD卡加载html文件

时间:2011-03-29 13:48:51

标签: android webview

我正在尝试从SD卡加载html文件。注意:   - >如果我加载http://www.google.com它的工作原理。   - >该文件存在   - >我有互联网权限和WRITE_EXTERNAL_STORAGE

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    addB = (Button) findViewById(R.id.add);
    webComp = (WebView) findViewById(R.id.webC);

    WebSettings webSettings = webComp.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(false);
    webSettings.setAllowFileAccess(true);
    webSettings.setLoadsImagesAutomatically(true);
    webSettings.setSavePassword(false);
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);        

    webComp.setWebViewClient(new HelloWebViewClient());                    



    webComp.loadUrl("/sdcard/FMS/1/message.html");            



}

谢谢! :)

3 个答案:

答案 0 :(得分:39)

Misca,

你不应该像那样硬编码SD卡的目录。它通常在/mnt/sdcard/,但这绝不保证。您还应该始终检查SD卡是否存在并首先安装!

您想使用以下内容:

if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    Log.d(TAG, "No SDCARD");
} else {
    webComp.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/FMS/1/message.html");
}

答案 1 :(得分:1)

我认为网址为file:///sdcard/FMS/1/message.html

答案 2 :(得分:0)

您可以像这样访问它。除了视频外,.html文件的任何文件都可以加载

webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/myapprepository/index.html");