發現Android開發每搞一個和系統扯上關系的功能都要磨死人,對新手真不友好。運氣不好難以快速精准的找到有效的資料😒
這篇記錄的是Android中如何把我們往存儲中寫入的文件,如何顯示到文件管理的下載列表、最近文件列表中。
假設保存的文件為外部存儲中的File file
,也許是app私有目錄中的(未測試)、也許是外部存儲根目錄中download、pictures等目錄中的(沒發現問題)。
測試支持Android 4.0 - 9.0。
第一步,暴力扔給媒體掃描,管你是不是圖片
如果我們的文件是圖片、視頻、音樂等媒體文件,顯示到相冊等地方
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));
第二步,添加到下載列表,自動會顯示到最近文件
String mime=MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext) || ||"application/octet-stream";//為空使用后面這個,怎么快速的寫?
DownloadManager manager= (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
manager.addCompletedDownload(file.getName(), file.getName(), true, mime, file.getAbsolutePath(), file.length(),false);
實際有效的成分:DownloadManager.addCompletedDownload
,調用后會把文件添加到下載列表,並出現在最近文件列表中(圖片是會,其他類型測試的可能會)。當想要這個功能時,運氣不好找半天也不一定找的到。
end.