我正在尝试从sd卡加载webView中的html文件,它无法正常工作,目录存在于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();
}
}
答案 0 :(得分:2)
这样做
File file = new File(Environment.getExternalStorageDirectory()+"/Reginfo/input/register.html");
if (file.exists())
{
index.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/Reginfo/input/register.html");
不要忘了
添加清单的权限
答案 1 :(得分: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();
}
}
答案 2 :(得分:0)
你不应该像那样硬编码SD卡的目录。它通常位于/ 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");
}