为什么在一些Android设备的内部存储不会创建该文件夹?

问题描述 投票:1回答:3

我创建了一个文件夹,在内部存储用于存储文件。但问题是不是在某些Android设备上创建的文件夹。该文件夹中的棒棒糖设备创建的,但不是在奥利奥和牛轧糖。

  • 问题是什么?
  • 是否有需要更高级别的API任何额外的许可?

用于在内部存储的文件夹的代码

File f1 = new File(Environment.getExternalStorageDirectory(), Constants.STORED_FOLDER);
if (!f1.exists()) {
  f1.mkdirs();
}
Log.e("check_path", "" + f1.getAbsolutePath());

另外,我对如何使该文件夹在画廊看到另一个查询。

这不是在画廊可见?如何解决这个问题?

android android-studio directory
3个回答
6
投票

该文件夹中的棒棒糖设备创建的,但不是在奥利奥和牛轧糖。问题是什么?

由于Android 6.0(如果我的记忆正确的),许多权限需要动态分配(在运行时)。你需要get your permission at runtime

是否有需要更高级别的API任何额外的许可?

基本的权限是WRITE_EXTERNAL_STORAGE,但你不仅需要声明它在AndroidManifest.xml,而且在运行时。

另外我有另一个查询如何使文件夹中的画廊可见。这是不是在画廊可见?如何解决这些问题?

如果你指的是照片库,您可能需要等待媒体过程扫描整个SD卡,让您的文件夹(必须包含一些照片)在画廊添加。


2
投票

对于立即显示您的文件夹,您需要发送一个广播

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
        Uri.parse("file://"
                + Environment.getExternalStorageDirectory())));

这段代码会告诉的东西已经被添加,请现在重新扫描媒体库的应用程序


0
投票

您必须添加请求允许之前创建的文件夹。见下面的链接:https://developer.android.com/training/permissions/requesting

Android marshmallow request permission?

© www.soinside.com 2019 - 2024. All rights reserved.