下載圖片到本地后,更新手機(jī)媒體庫

今天,看到我們老大發(fā)了一組特別美的圖片。我非常喜歡,于是我下載到了本地。然后打開QQ,想分享給我的朋友們。結(jié)果我打開QQ上傳圖片的時候,根本看不到我下載的圖片?。?!what?逗我呢?。。〔桓吲d?。?!

這是北京十月份的奧林匹克公園,美死了!我好喜歡!放手機(jī)看更美!

uping_1477223620591-3.png
uping_1477223620615-5.png
uping_1477223620576-2.png

對于美麗的圖片,我都忍不住下載?。?!


下面進(jìn)入正題,怎么更新手機(jī)媒體庫!
先聲明,我也是百度來的!
有三種方法:

  1. 發(fā)送廣播,需要一個參數(shù)(一個Intent意圖(一個媒體掃描文件action和Uri地址))
    **sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + file))); **
    ps:經(jīng)過試驗,成功!
  1. 通過MediaScannerConnection 類
    MediaScannerConnection.scanFile(context, new String[]{fileSD_file.toString()}, null, null);
    ps:經(jīng)過試驗,成功!
  2. 也是通過MediaScannerConnection 類
MediaScannerConnection msc=new MediaScannerConnection(context,new MediaScannerConnectionClient(){
@Override
public void onMediaScannerConnected() {
// TODO Auto-generated method stub
}
@Override
public void onScanCompleted(String path, Uri uri) {
// TODO Auto-generated method stub
}
}); 
msc.connect();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
URL url = null;
try {
url = fileSD_file.toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
MimeTypeMap mtm=MimeTypeMap.getSingleton();
msc.scanFile(fileSD_file.toString(), mtm.getMimeTypeFromExtension(mtm.getFileExtensionFromUrl(url.toString())));
//此句上面的一句可以,下面的一句也可以,都適合這種方法(已用顏色標(biāo)示)。
// msc.scanFile(fileSD_file.getAbsolutePath(), null);
msc.disconnect();

這個方法略繁瑣,大致意思是new一個MediaScannerConnection對象,通過msc.connect()建立連接,通過msc.scanFile(fileSD_file.toString(), mtm.getMimeTypeFromExtension(mtm.getFileExtensionFromUrl(url.toString())));更新,最后msc.disconnect();斷開連接。
PS:這個方法真是繁瑣,我不喜歡,沒有測試。上邊兩種應(yīng)該就夠用了!

好了!更新媒體庫就完成了,圖片是這樣更新,其他類似媒體庫文件應(yīng)該也是這么更新的吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容