2017-08-12 74 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"); 
相關問題