2017-08-12 7 views
0

ユーザーのAndroid携帯電話にあるWhatsApp/Media/WhatsApp Imagesディレクトリにアクセスするアプリを作成しており、ユーザーの場所に応じて異なる写真を背景として設定しています。AndroidアプリのWhatsapp Mediaフォルダへのアクセス

携帯電話にインストールされているフォルダマネージャの種類のアプリケーションを使用して、場所ディレクトリWhatsAppが直接Device Storageの下にあることがわかりました。私のアプリのコードから/の下で検索すると、私はそれを見つけることができません。私のコードはここにあります:

private void findWhatsappMediaDirectories() { 
    String whatsappMediaDirectoryName = "/"; 
    displayTreeStructure(whatsappMediaDirectoryName); 
} 

private void displayTreeStructure(String whatsappMediaDirectoryName) { 
    File whatsappMediaDirectory = new File(whatsappMediaDirectoryName); 
    Log.e(this.getClass().toString(), "In " + whatsappMediaDirectoryName); 
    File[] mediaDirectories = whatsappMediaDirectory.listFiles(); 

    if (mediaDirectories == null) { 
     Log.e(this.getClass().toString(), whatsappMediaDirectoryName + " does not have any files"); 
    } 
    else if (mediaDirectories.length != 0) { 
     for (File mediaDirectory : mediaDirectories) { 
      if (mediaDirectory.getName().equals("WhatsApp")) { 
       if (mediaDirectory.isDirectory()) { 
        Log.e(this.getClass().toString(), mediaDirectory.getAbsolutePath()); 
        displayTreeStructure(mediaDirectory.getAbsolutePath()); 
       } 
      } 
     } 
    } 
} 

これはディレクトリ名が表示されずに失敗し続けます。誰かが、その場所にアクセスするためのパスを教えてください。

答えて

0

解決策が見つかりました。問題は、Android搭載デバイスの内蔵ストレージと外付けストレージの概念を理解していたことにあります。 WhatsApp/Mediaディレクトリにアクセスする正しい方法は、次のとおりです。

File whatsappMediaDirectoryName = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/WhatsApp/Media"); 
関連する問題