Android webview无法从sd卡加载html文件

Android webview无法从sd卡加载html文件,android,webview,Android,Webview,我正在尝试从sd卡加载html文件。注: ->如果我加载它的工作。 ->该文件已存在 ->我有访问internet和写入外部存储的权限 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addB = (Button) findViewById(R.id.add); webComp =

我正在尝试从sd卡加载html文件。注: ->如果我加载它的工作。 ->该文件已存在 ->我有访问internet和写入外部存储的权限

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");            



}

谢谢!:)

我认为url是file:///sdcard/FMS/1/message.html中非支助团

你不应该像那样硬编码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");
}

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

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

当您使用LogCat时,会出现什么错误?“读取外部存储”怎么样?我总是使用诸如Environment.getExternalStorageDirectory().getAbsolutePath()+“/FMS/1/message.html”之类的东西。我想知道是否可以使用loadUrl方法从存储器中加载HTML文件。也许你应该尝试一下loadData(…)的解决方法,因为它只下载html文件。如果html文件包含用于加载图像和脚本的相对路径,该怎么办?您应该注意,应用程序应该具有相应的权限