2014-01-08 84 views
2

我正在創建我的應用程序文件夾/Android/data/com.mycompany.myapp。一開始是空的。但是它在Windows資源管理器中不可見。這樣做可以解決它:新創建的文件夾不顯示在Windows資源管理器

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

不幸的是,API 19(4.4)不再支持。什麼是替代方案?

For Intent.ACTION_MEDIA_SCANNER_SCAN_FILE我需要指定一個文件,而不是文件夾。這同樣適用於MediaScannerConnection.scanFile真的...

+0

添加您的解決方案作爲答案,並接受它,讓別人可以更容易地看到它。 – Endzeit

回答

4

我實現了這個變通辦法:

  1. 創建所需的文件夾
  2. 此文件夾中創建一個空的「虛擬」文件
  3. 公佈該文件向媒體掃描儀:

    Uri uri = Uri.parse("file://" + m_appDir + "/tmp.x"); 
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri)); 
    

這將使該文件和文件夾從Windows中可見。

+0

這是一個答案骯髒,因爲它是正確的:)任何人有一個想法如何找出什麼時候可以刪除文件'tmp.x'?如果您在sendBroadcast之後立即刪除它,則廣播的意圖檢測該文件夾當然爲時過早。是的,我只是想保持目錄乾淨... :)(並避免我的用戶不斷問我這是什麼文件) – ocramot

相關問題