2017-10-08 24 views
0

Je suis nouveau sur Android et la construction d'une application qui doit enregistrer les données dans un fichier texte. Je voulais que mon dossier d'application soit créé sous Stockage interne (/ storage/emulated/0 /) exactement de la même manière que pour WhatsApp. Je connais la solution sur comment créer un fichier pour créer un répertoire. Ma console de débogage montre également que le répertoire a été créé mais je ne pouvais pas le voir via Filemanager ou si je suis connecté au PC via USB. C'est le même cas lorsque j'essaie de sauvegarder dans le chemin sdcard. Mon téléphone n'est pas rooté (mais essayé mais pas réussi). Si seulement possible avec l'enracinement du téléphone, ma question est de savoir comment puis-je voir le dossier WhatsApp à la fois dans le stockage interne, mais mon téléphone n'est pas enracinée. Je voulais voir mon dossier pour être visible même que je peux voir le dossier WhatsApp.Mon dossier d'application créé n'est pas visible à la fois dans la mémoire interne ou SD

Voici mon code et la fixation USB connecté capture d'écran au 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" 

Console de débogage:

D/créé le répertoire:/stockage/émulé/0/Test


enter image description here

enter image description here

Fixation de la capture d'écran après avoir ajouté le code comme par « user7486817 »

Mais je vois le dossier créé ne ressemble pas à un dossier

Répondre

2

Vous avez android.permission.WRITE_INTERNAL_STORAGE, mais vous devez android.permission.WRITE_EXTERNAL_STORAGE d'écrire externe stockage

+0

Merci beaucoup de fournir l'entrée. J'ai inclus l'autorisation d'écriture pour le stockage externe comme mentionné. Je vois un fichier créé mais ce n'est pas du type dossier. Je ne peux pas le voir comme un dossier. Permettez-moi d'ajouter la capture d'écran de celui-ci au poste principal – Suri

+0

mkdir et mkdirs sont différents, mkdirs devrait fonctionner mais essayez mkdir. – user7486817

+0

Merci encore. J'ai essayé avec mkdir() et mkdirs() mais toujours la même chose. Attaché la capture d'écran – Suri