【问题标题】:My app folder created is not Visible both in Internal Or SD memory我创建的应用程序文件夹在内部或 SD 内存中均不可见
【发布时间】:2018-03-19 18:10:03
【问题描述】:

我是 Android 新手,正在构建一个需要将数据保存到文本文件中的应用。我想让我的应用程序文件夹在内部存储 (/storage/emulated/0/) 下创建,与 WhatsApp 完全相同。我知道有关如何创建文件以创建目录的解决方案。我的调试控制台还显示该目录已创建,但我无法通过 Filemanager 看到,或者如果通过 USB 连接到 PC。当我尝试保存在 sdcard 路径中时也是如此。我的手机没有root(虽然试过但没有成功)。如果只能通过植根手机,我的问题是如何在内部存储中看到 WhatsApp 文件夹,尽管我的手机没有植根。我希望看到我的文件夹与查看 WhatsApp 文件夹的方式相同。

这是我的代码,并附上连接 USB 到 PC 的屏幕截图:

  File root = Environment.getExternalStorageDirectory();
    File mydirectory=new File(root + "/Test");
        if (root.canWrite()) {
            if(!mydirectory.exists()) {
                mydirectory.mkdirs(); //directory is created;
                Log.d("created the directory",mydirectory.toString()+"");
            }

            mydirectory.setExecutable(true);
            mydirectory.setReadable(true);
            mydirectory.setWritable(true);


            MediaScannerConnection.scanFile(getContext(), new String[] {mydirectory.toString()}, null, null);

            Intent mediaScannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            Uri fileContentUri = Uri.fromFile(mydirectory); 
            mediaScannerIntent.setData(fileContentUri);
            getContext().sendBroadcast(mediaScannerIntent); 
        }


AndroidManifest File:


<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Version details-
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "com.example.saisureshc.gridlayouttest"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"

调试控制台:

D/创建了目录:/storage/emulated/0/Test


按照“user7486817”添加代码后附上屏幕截图

但我看到创建的文件夹看起来不像文件夹

【问题讨论】:

    标签: android directory


    【解决方案1】:

    您有android.permission.WRITE_INTERNAL_STORAGE,但您需要android.permission.WRITE_EXTERNAL_STORAGE 才能写入外部存储

    【讨论】:

    • 非常感谢您提供意见。如前所述,我包括了对外部存储的写入权限。我看到创建了一个文件,但它不是文件夹类型。我不能将其视为文件夹。让我在主帖中添加它的屏幕截图
    • mkdir 和 mkdirs 是不同的,mkdirs 应该可以工作,但试试 mkdir。
    • 再次感谢。我尝试了 mkdir() 和 mkdirs() 但仍然相同。附上截图
    • new File(root + "/Test/") 添加另一个 / 并回复结果
    • 我在 mkdir() 和 mkdirs() 中都使用了结束斜线。不幸的是还是一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多