正如问题的标题所示,我有一个应用程序可以在Android内部存储上生成HTML文件。
我是这样做的:
阅读文件
if (thereIsSomethingToShow)
{
File dir = getDir("MyApp", MODE_WORLD_READABLE);
File newfile = new File(dir.getAbsolutePath() + File.separator + Ref+"-"+Name+".html");
mWebview.loadUrl("file:/"+dir.getAbsolutePath()+File.separator+Ref+"-"+Name+".html"); //("file:///"+Environment.getExternalStorageDirectory()/*+"//MyApp//MySheets//"*/+"//"+Ref+"-"+Name+".html");
setContentView(mWebview);
}
编写文件(在我班上面的代码之前)
File root = getDir("MyApp", MODE_WORLD_READABLE); //Environment.getExternalStorageDirectory();
File f = new File(root.getAbsolutePath() + File.separator + Ref+"-"+Name+".html"); //new File(root, Ref+"-"+Name+".html");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos, "ISO-8859-1"));
bw.write(rs.getFullCode());
bw.close();
HTML文件在指定位置生成良好,但我无法在我的应用程序的webView和浏览器中读取它,除非我使用Root Explorer将HTML文件移动到外部存储。
如果不这样做,我的浏览器和我的webView都会显示“网页不可用”。 请注意,如果我在评论中使用这些值,一切都会没问题。
感谢您的帮助。