首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android1.5和Android1.6之间的海量存储API中做了哪些更改

在Android1.5和Android1.6之间的海量存储API中做了哪些更改
EN

Stack Overflow用户
提问于 2010-09-27 09:39:15
回答 1查看 110关注 0票数 2

我写了一些代码在SD卡上保存图像一段时间前。现在,我将targetSDKVersion添加到清单中,现在我的文件保存代码停止工作。

我可以通过从我的应用程序清单中删除targetSdkVersion来复制它,不会将任何东西写入SD卡。

在Android1.5和1.6之间是否有API变化,使我无法写入SD卡?

代码语言:javascript
复制
File imageDirectory = new File(Environment.getExternalStorageDirectory()
                 .getAbsolutePath()
                 + File.separator
                 + FOLDER_NAME);

Log.d(ImageSaver.class.getSimpleName(), "SD Card status: "
            + Environment.getExternalStorageState());

if (!imageDirectory.exists()) {
   boolean created = imageDirectory.mkdir();
   Log.d(ImageSaver.class.getSimpleName(), "Created image directory "
                + imageDirectory + " " + created);
}
File imageFile = new File(imageDirectory.getAbsolutePath() + File.separator
                    + name + nameSuffix + FILE_ENDING);

bitmap.compress(Bitmap.CompressFormat.PNG, FULL_QUALITY,
         new FileOutputStream(imageFile));

这是将位图压缩到SD卡的测试代码。对于下列清单条目,它不起作用:

代码语言:javascript
复制
<uses-sdk
   android:minSdkVersion="3"
   android:targetSdkVersion="8" />

我得到以下例外:

09-27 11:35:58.689: ERROR/ImageSaver(8672):文件找不到09-27 11:35:58.689:错误/图像保护程序(8672):java.io.FileNotFoundException: /sdcard/文件夹/1285580158662.png

删除targetSdkVersion使它再次在所有平台上工作。

如何使代码与targetSdkVersion集一起运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-27 09:44:37

您必须将权限WRITE_EXTERNAL_STORAGE添加到您的清单中--它是新的,因为API级别为4。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3802586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档