我正在使用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
答案 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);
}