相关疑难解决方法(0)

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万
查看次数

带有 NDK-Build 的 Android Studio - 不在项目导航器中显示 C++ 文件

我正在使用带有 NDK-Build 的 Android Studio,它不显示单个 C++ 文件,因此我无法调试。它只显示一个 cpp-Folder 并在 ethe 文件夹中显示一些静态库,我无法进一步介入。我记得曾经可以进入这些库(它们像文件夹一样打开)并查看单个 cpp 文件。

这是我的 build.gradle 文件:

    import java.util.regex.Pattern
    import com.android.build.OutputFile
    import org.apache.tools.ant.taskdefs.condition.Os


    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'



    task('increaseVersionCode') << {
        def buildFile = file("build.gradle")
        def pattern = Pattern.compile("versionCode\\s+(\\d+)")
        def manifestText = buildFile.getText()
        def matcher = pattern.matcher(manifestText)
        matcher.find()
        def versionCode = Integer.parseInt(matcher.group(1))
        def manifestContent = matcher.replaceAll("versionCode " + ++versionCode + "")
        buildFile.write(manifestContent)
    }

    // DO NOT change the build.gradle on debug builds any longer, since this will lead to debugging …
Run Code Online (Sandbox Code Playgroud)

c++ android android-ndk android-studio android-studio-2.3

6
推荐指数
1
解决办法
8552
查看次数