Чтение файла с SD-карты и загрузка его в WebView

0

Я пытаюсь загрузить html файл в webView с SD-карты, его не работает, каталог существует на SD-карте, а также файл в нем. Вот код, который я попробовал.

public void CheckReg()
    {
        File file = new File(getExternalCacheDir(), "Reginfo/input/register.html" );
        if (file.exists())
        {
            index.loadUrl("file:///sdcard/Reginfo/input/register.html");
            Toast.makeText(mContext, "File Exists", Toast.LENGTH_SHORT).show(); 
        }
    }
Теги:
android-webview
android-sdcard

3 ответа

2
Лучший ответ

сделай это

File file = new File(Environment.getExternalStorageDirectory()+"/Reginfo/input/register.html");
    if (file.exists())
    {   
      index.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/Reginfo/input/register.html");

не забудьте добавить разрешения на манифест

  • 0
    другая часть, проверка наличия файла, также не работает. , что в этом плохого...
  • 0
    проверить отредактированную часть
Показать ещё 3 комментария
0

должен быть установлен как,

 public void CheckReg()
 {


   File file = new File(Environment
                                         .getExternalStorageDirectory()
                                    .getAbsolutePath()+"Reginfo/input/register.html" );
    if (file.exists())
    {
        index.loadUrl("file:///"+file);
        Toast.makeText(mContext, "File Exists", Toast.LENGTH_SHORT).show(); 
    }
}
0

Вы не должны жестко закодировать каталог sdcard. Обычно он находится в /mnt/sdcard/, но это никогда не бывает уверенным, а вы можете написать его вот так.

и перед загрузкой файла с SD-карты вы убедитесь, что SD-карта установлена.

Вы можете использовать следующее:

if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    Log.d(TAG, "No SDCARD");
} else {
    index.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/Reginfo/input/register.html");
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню