小编Rud*_*dyF的帖子

Android 6.0 Marshmallow.无法写入SD卡

我有一个使用外部存储来存储照片的应用程序.根据需要,在其清单中,请求以下权限

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

它使用以下内容来检索所需的目录

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
Run Code Online (Sandbox Code Playgroud)

该应用程序适用于Android 5.1至2.3; 它已在Google Play上播放了一年多.

在将我的一个测试手机(Android One)升级到6之后,它现在在尝试创建必需目录时返回错误,"/ sdcard/Pictures/myapp-yy-mm".

SD卡配置为"便携式存储".我已经格式化了SD卡.我已经取代了它.我重新启动了.一切都无济于事.

此外,内置的Android屏幕截图功能(通过电源+低音量)失败"由于存储空间有限,或者应用程序或您的组织不允许".

有任何想法吗?

android android-sdcard android-6.0-marshmallow

51
推荐指数
4
解决办法
13万
查看次数