主动通知Android系统图库进行更新
2015-08-25 09:28
260 查看
项目中遇到调用图库进行图片的选择,因为不能主动及时更新,遂实现代码调用实现主动及时更新。
废话不多刷,看代码。
方式一,发送一个广播,
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();
废话不多刷,看代码。
方式一,发送一个广播,
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();
相关文章推荐
- Android Studio快捷键
- 关于android.view.WindowManager$BadTokenException问题出现以及解决的一些记录
- GridView垂直方向填充
- AndroidStudio
- 解开Android应用程序组件Activity的"singleTask"之谜
- android 学习笔记 数据存储到文件中
- android viewpager嵌套侧滑删除listview冲突问题
- android:padding和android:layout_margin的区别
- android学习之——Android事件处理(监听和回调)
- Android大放送干:书籍、过程、工具等各种全
- Android Overview Screen -- 概览界面
- Android 自定义Activity基类
- Android 自定义主菜单
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.AndroidCaptureC
- android ble 4.0实现自动配对
- 兼容 Android 4.4 透明状态栏与导航栏
- Android 依赖注入
- android:includeFontPadding的使用:清除TextView字体周边空白
- 推荐两个比较全的android在线源代码
- Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())