2017-10-08 50 views
0

我是Android新手,並構建需要將數據保存到文本文件的應用程序。我想讓內部存儲(/ storage/emulated/0 /)下創建的應用程序文件夾與WhatsApp完全相同。我知道如何通過FILE創建目錄的解決方案。我的調試控制檯還顯示目錄已創建,但我無法通過Filemanager或通過USB連接到PC。當我嘗試保存在SD卡路徑中時,情況也是如此。我的手機沒有Rooted(儘管嘗試但不成功)。如果只能在生根電話時使用,我的問題是如何在內部存儲中看到WhatsApp文件夾,儘管我的手機沒有固定。我想看到我的文件夾與我如何看到WhatsApp文件夾相同。我創建的應用程序文件夾在內部或SD內存中都不可見

這是我的代碼和屏幕截圖連接的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 /創建的目錄:/存儲/模擬/ 0 /測試


enter image description here

enter image description here

附加的屏幕截圖添加的代碼按「user7486817」

之後,但我看到的文件夾中創建does not看起來像一個文件夾

回答

2

你有android.permission.WRITE_INTERNAL_STORAGE,但你需要android.permission.WRITE_EXTERNAL_STORAGE寫入外部存儲

+0

非常感謝您提供的信息。如上所述,我包含了外部存儲的寫入權限。我看到一個創建的文件,但它不是文件夾類型。我不能把它看作一個文件夾。讓我在主帖 – Suri

+0

上添加它的屏幕截圖mkdir和mkdirs是不同的,mkdirs應該工作,但嘗試mkdir。 – user7486817

+0

再次感謝。我嘗試了mkdir()和mkdirs(),但仍然一樣。附加屏幕截圖 – Suri

相關問題