不久前我写了一些代码把图像保存在SD卡上。现在我将targetSDKVersion添加到我的清单中,现在我的文件保存代码停止工作。
我可以通过从我的清单中删除targetSdkVersion来复制它,因为我的应用程序不会向SD卡写入任何内容。
安卓1.5和1.6之间是否有API更改,阻止我写入SD卡?
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));
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="8" />
我得到以下例外:
错误/ImageSaver(8672):找不到文件
09-27 11:35:58.689:
java.io.FileNotFoundException异常:
/sdcard/FOLDER/1285580158662.png
删除targetSdkVersion可以使其在所有平台上再次工作。
如何使代码与targetSdkVersion集一起运行?