今天,看到我們老大發(fā)了一組特別美的圖片。我非常喜歡,于是我下載到了本地。然后打開QQ,想分享給我的朋友們。結(jié)果我打開QQ上傳圖片的時候,根本看不到我下載的圖片?。?!what?逗我呢?。。〔桓吲d?。?!
這是北京十月份的奧林匹克公園,美死了!我好喜歡!放手機(jī)看更美!

uping_1477223620591-3.png

uping_1477223620615-5.png

uping_1477223620576-2.png
對于美麗的圖片,我都忍不住下載?。?!
下面進(jìn)入正題,怎么更新手機(jī)媒體庫!
先聲明,我也是百度來的!
有三種方法:
- 發(fā)送廣播,需要一個參數(shù)(一個Intent意圖(一個媒體掃描文件action和Uri地址))
**sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + file))); **
ps:經(jīng)過試驗,成功!
- 通過MediaScannerConnection 類
MediaScannerConnection.scanFile(context, new String[]{fileSD_file.toString()}, null, null);
ps:經(jīng)過試驗,成功! - 也是通過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)該也是這么更新的吧!