Webview не может загрузить html файл с SD-карты
Я пытаюсь загрузить html файл с SD-карты. Заметка:
- > если я загружаю 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");
}
Спасибо!:)
Ответы
Ответ 1
Misca,
Вы не должны жестко закодировать каталог такой SDK. Обычно он находится в /mnt/sdcard/
, но это никогда не бывает уверенным. Вы также должны всегда проверять, существует ли sdcard и монтируется первым!
Вы хотите использовать следующее:
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
Log.d(TAG, "No SDCARD");
} else {
webComp.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/FMS/1/message.html");
}
Ответ 2
Я думаю, что url является файлом:///sdcard/FMS/1/message.html
Ответ 3
Вы можете получить к нему доступ, так как любые файлы, локальные в .html файле, будут загружены за исключением видео
webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/myapprepository/index.html");