的WebView无法加载从SD卡的html文件加载、文件、WebView、html

2023-09-03 23:07:01 作者:一杯源味白凯水

我试图加载从SD卡一个HTML文件。注意:   - >如果我加载 http://www.google.com 它的工作原理。   - >文件存在   - >我有互联网和WRITE_EXTERNAL_STORAG​​E权限

I'm trying to load a html file from sd-card. Note: -> if i load http://www.google.com it works. -> the file exists -> i have permissions for internet and 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");            



}

感谢您! :)

推荐答案

Misca,

您应该不难$ C C一样,在SD卡的目录$。它通常在到/ mnt / SD卡/ 但这是从来没有保证。你也应该经常检查SD卡存在,首先安装!

You shouldn't hard code the directory of the sdcard like that. Its typically at /mnt/sdcard/ but this is never assured. You should also always check if the sdcard exists and is mounted first!

您要使用以下内容:

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