【发布时间】:2011-09-13 21:35:40
【问题描述】:
我已将相同的图像保存到 /data/data/mypackage/img/ 中,现在我想全屏显示,我曾尝试使用 ACTION_VIEW 使用 android 标准程序进行显示,但它没有从 /data/data/ 读取。 我该怎么办?
【问题讨论】:
-
你需要澄清你的问题,我不知道你在问什么。
我已将相同的图像保存到 /data/data/mypackage/img/ 中,现在我想全屏显示,我曾尝试使用 ACTION_VIEW 使用 android 标准程序进行显示,但它没有从 /data/data/ 读取。 我该怎么办?
【问题讨论】:
您正在启动的“android 标准程序”无法访问 /data/data/mypackage,因此无法加载您保存在其中的图像
尝试将图像保存在 SD 卡上的目录中:
File sdDir = new File(Enviroment.getExternalStorageDirectory(), "mydirname");
如果您的设备没有 SD 卡,那么您需要在包目录中创建一个全球可读的子目录,然后在其中创建一个全球可读的文件(Android 2.3+)
File filesysDir = getDir("mydirname", MODE_WORLD_READABLE);
File file = new File(sdDir, "myfile.txt");
file.setReadable(true, false);
FileOutputStream fos = new FileOutputStream(file);
String txt = "hello world";
fos.write(txt.getBytes());
fos.close();
或者,如果您使用的是早期版本的 Android,那么您在目录名称中似乎没有太多选择。以下代码将在 data/data/mypackagename/files/ 目录中创建一个全球可读的文件
FileOutputStream fos = openFileOutput("myfile2.txt", MODE_WORLD_READABLE);
String txt = "hello world";
fos.write(txt.getBytes());
fos.close();
【讨论】: