我在内部或SD内存中创建的app文件夹不可见

时间:2017-10-08 12:27:19

标签: android directory

我是Android新手并构建了一个需要将数据保存到文本文件中的应用。我希望在内部存储(/ storage / emulated / 0 /)下创建我的app文件夹与WhatsApp完全相同。我知道如何使用FILE创建制作目录的解决方案。我的调试控制台还显示目录已创建但我无法通过Filemanager或通过USB连接到PC看到。当我尝试保存sdcard路径时,情况也是如此。我的手机没有扎根(尽管尝试但没有成功)。如果只能在手机上生根,我的问题是如何在内部存储中看到WhatsApp文件夹,虽然我的手机没有root。我想看到我的文件夹可见,就像我看到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

enter image description here

enter image description here

按照“user7486817”

添加代码后附加屏幕截图

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

1 个答案:

答案 0 :(得分:2)

您有template <template <class> class TT, class T> void foo_impl( tag<TT>, TT<T> ){} template <template <class> class TT, class T> void foo( tag<TT> a, T b ){ foo_impl<TT>( a, b ); } ,但需要android.permission.WRITE_INTERNAL_STORAGE才能写入外部存储空间