主动通知Android系统图库进行更新
2015-09-23 08:29
411 查看
项目中遇到调用图库进行图片的选择,因为不能主动及时更新,遂实现代码调用实现主动及时更新。
废话不多刷,看代码。
方式一,发送一个广播,
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://"+fileSD_file)));
方式二,通过MediaScannerConnection 类
MediaScannerConnection.scanFile(context, new String[]{fileSD_file.toString()}, null, null);
方式三,也是通过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())));
//此句上面的一句可以,下面的一句也可以,都适合这种方法(已用颜色标示)。
// msc.scanFile(fileSD_file.getAbsolutePath(), null);
msc.disconnect();
由于不知道谁是原作者,不能写出他的名字,博客地址,十分遗憾。
此文转字另一个转载者,地址:/article/1559562.html
废话不多刷,看代码。
方式一,发送一个广播,
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://"+fileSD_file)));
方式二,通过MediaScannerConnection 类
MediaScannerConnection.scanFile(context, new String[]{fileSD_file.toString()}, null, null);
方式三,也是通过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())));
//此句上面的一句可以,下面的一句也可以,都适合这种方法(已用颜色标示)。
// msc.scanFile(fileSD_file.getAbsolutePath(), null);
msc.disconnect();
由于不知道谁是原作者,不能写出他的名字,博客地址,十分遗憾。
此文转字另一个转载者,地址:/article/1559562.html
相关文章推荐
- Android XUtils 框架简介
- Android的多线程与异步任务1
- android strings.xml 报 is not translated in af,
- Android开发——DiskLruCache用法详解以及工作原理深度解析
- Android Api Demos登顶之路(七十七)Graphics-->FingerPaint
- Android Webview Java和Javascript安全交互
- AndroidEditText添加各种效果抖动-震动-内容变化自动查询
- Android service服务级别提升(可见)-通知
- Android中程序锁-不断监听
- Android DrawableShape资源的用法,Shape属性,Shape开发
- Android中基站+GPS定位
- Android自定义组合控件之下拉选择框
- Android:PendingIntent的FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT
- Android studio添加SlidingMenu等第三方类库
- Android Data Bindingx的使用
- (奶油小刀插件) android-butterknife-zelezny 插件使用
- Android xml的解析
- 转 android Listview,gridview局部刷新,部分刷新 (仿QQ动态评论局部刷新)
- Android自定义控件——手把手教你写出Google样式的ProgressBar
- [转][Android] ListView中getView的原理+如何在ListView中放置多个item