今天,看到我們老大發(fā)了一組特別美的圖片恨搓。我非常喜歡院促,于是我下載到了本地筏养。然后打開QQ,想分享給我的朋友們常拓。結(jié)果我打開QQ上傳圖片的時(shí)候渐溶,根本看不到我下載的圖片!EА茎辐!what?逗我呢5嗨 M下健!不高興0猛觥R绬!
這是北京十月份的奧林匹克公園店枣,美死了孔飒!我好喜歡!放手機(jī)看更美艰争!
uping_1477223620591-3.png
uping_1477223620615-5.png
uping_1477223620576-2.png
對于美麗的圖片,我都忍不住下載9鸲浴Kψ俊!
下面進(jìn)入正題蕉斜,怎么更新手機(jī)媒體庫逾柿!
先聲明,我也是百度來的宅此!
有三種方法:
- 發(fā)送廣播机错,需要一個(gè)參數(shù)(一個(gè)Intent意圖(一個(gè)媒體掃描文件action和Uri地址))
**sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + file))); **
ps:經(jīng)過試驗(yàn),成功父腕!
- 通過MediaScannerConnection 類
MediaScannerConnection.scanFile(context, new String[]{fileSD_file.toString()}, null, null);
ps:經(jīng)過試驗(yàn)弱匪,成功! - 也是通過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();
這個(gè)方法略繁瑣枝嘶,大致意思是new一個(gè)MediaScannerConnection對象帘饶,通過msc.connect()建立連接,通過msc.scanFile(fileSD_file.toString(), mtm.getMimeTypeFromExtension(mtm.getFileExtensionFromUrl(url.toString())));更新群扶,最后msc.disconnect();斷開連接及刻。
PS:這個(gè)方法真是繁瑣镀裤,我不喜歡,沒有測試缴饭。上邊兩種應(yīng)該就夠用了暑劝!
好了!更新媒體庫就完成了茴扁,圖片是這樣更新铃岔,其他類似媒體庫文件應(yīng)該也是這么更新的吧!