我有一个应用程序,使用外部存储来存储照片。 在其清单中,按要求请求以下权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
它使用以下内容来检索所需的目录
File sdDir = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd", Locale.US);
String date = dateFormat.format(new Date());
storageDir = new File(sdDir, getResources().getString(
R.string.storagedir)
+ "-" + date);
// Create directory, error handling
if (!storageDir.exists() && !storageDir.mkdirs()) {
... fails here
该应用在Android 5.1到2.3上运行良好,已经在Google Play上发布了一年。
在我测试手机(Android One)升级到6之后,尝试创建所需目录“/sdcard/Pictures/myapp-yy-mm”时现在会返回一个错误。
SD卡被配置为“可移动存储”。我已格式化SD卡。我已更换它。我已重新启动。但都无济于事。
此外,内置的Android截屏功能(通过Power + Lower volume)失败了,“由于存储空间有限,或不被应用程序或您的组织允许”。
有什么想法吗?
targetSdkVersion
是23吗?还是早期版本? - ianhanniballake