0

出于兼容性原因,我有一个针对 SDK 1.5 编译的应用程序,我想尝试保持这种方式。我允许用户将图像保存到外部存储器,当时我确信它始终是 SD 卡。即使用户卸载应用程序,我也希望图像(文件)保留,否则我可以保存到内部存储器并且应用程序会在卸载时删除。

到目前为止,我从我的测试设备加载图像都没有问题,但现在我得到了一个东芝 Thrive 平板电脑,除了内部 DDR 内存,还有 8GB 内部闪存和一个 SD 卡插槽。我的应用程序将图像很好地保存在东芝声明的存储位置,如下所示:

// Note: First I create a folder for my App - Not shown here, but it works fine

file = new File(Environment.getExternalStorageDirectory()+ File.separator + "MyApp" + File.separator + "test.png);

在东芝平板电脑上,它总是在内部闪存设备上使用上述方法保存,这很好,但是使用相同的声明不会加载相同的文件,我觉得这很奇怪。

我使用这种非常简单的方法加载;

file = new File(Environment.getExternalStorageDirectory()
                + File.separator + "MyApp" + File.separator + "test.png);

bitmap = BitmapFactory.decodeFile(file);

然后显示位图

我以前不需要设置任何文件权限,除此之外,如果我针对 SDK 1.6 或更高版本进行编译,我需要在清单中

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

即便如此,我认为那只是为了允许写作。

4

1 回答 1

0

对不起的人,我不得不改变我的代码处理旋转,因为方向值不同,我以前做的方式,从我的其他设备,加上平板电脑通过 USB 连接到已锁定对文件夹的访问的 PC - duh :(

于 2012-09-17T16:16:19.223 回答