在SD卡上创建Android目录

时间:2017-04-26 21:00:21

标签: android android-sdcard

我正在使用File.mkdirs()在我的SD卡上创建一个目录。 mkdirs()返回值true,当我读取目录时,下一次执行该目录就在那里。但是,我无法从我的PC或内置文件浏览器中看到该目录。

Android SDK版本为25.我已成功请求WRITE_EXTERNAL_STORAGE的权限。

为什么我无法从PC上看到该目录?

我的代码:

File resDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "BLC/res/" + mSpeciesID);
if (resDir.exists()) {
    Log.d(TAG, "onCreateOptionsMenu: EXISTS");
} else {
    if (!resDir.mkdirs()) {
        Log.d(TAG, "onCreateOptionsMenu: mkdirs FAILURE ");
    };
    Log.d(TAG, "onCreateOptionsMenu: "+ resDir.getAbsolutePath());
}

来自日志:

首次执行:

D/BLC: onCreateOptionsMenu: /storage/emulated/0/Documents/BLC/res/206

后续执行:

D/BLC: onCreateOptionsMenu: EXISTS

1 个答案:

答案 0 :(得分:0)

在Android设备中创建目录后,您需要刷新媒体,以便在PC(Windows)中显示您的文件夹 所以在完成目录之后,请使用目录路径调用以下方法。

public static void refreshSystemMediaScanDataBase(Context context, String docPath)
{
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    Uri contentUri = Uri.fromFile(new File(docPath));
    mediaScanIntent.setData(contentUri);
    context.sendBroadcast(mediaScanIntent);
}
相关问题