主动通知Android系统图库进行更新

项目中遇到调用图库进行图片的选择,因为不能主动及时更新,遂实现代码调用实现主动及时更新。

废话不多刷,看代码。

方式一,发送一个广播,

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();

时间: 2024-10-01 20:46:54

主动通知Android系统图库进行更新的相关文章

Android系统切换语言更新应用界面方法

最近做的一个升级应用,在下载升级包的过程中又有一个toast类型的dialog悬浮在屏幕右上角,这个时候切换系统语言会出现问题. 当主屏幕为升级应用时,切换系统语言升级应用重启,而重启后并不能自动断点续传切换前的下载进度:当主屏幕为launcher的时候,切换系统语言进度条上的提示语言并不能跟着切换: 解决这一问题主要分为以下几步: 1.设置系统切换语言不重启属性,在menifest的activity中设置 android:configChanges="locale|layoutDirectio

Android添加照片到系统图库

1 Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 2 mediaScanIntent.setData(Uri.fromFile(imgFile)); 3 sendBroadcast(mediaScanIntent); // 把文件插入到系统图库 try { MediaStore.Images.Media.insertImage(getContentResolver(), imgFile.ge

Android nomedia 避免图片等资源泄露在系统图库其中

总结 Android nomedia 避免文件泄露在系统图库和系统铃声中 在应用开发中 项目的图片总是被系统的图库收录了 避免图片被系统图库收录的发现有2个方法 第一种针对图片 将 .png为后缀的图片所有改名为 .ing 后缀 比如  ic_launcher.png   改为  ic_launcher.ing 另外一种 在项目存放图片的目录写入 /.nomedia File nomedia = new File(filePath + "/.nomedia" ); if (! nome

Android图片下载到本地,系统图库不显示

可能大家都知道我们下载图片到Android手机的时候,然后调用系统图库打开图片,提示"找不到指定项". 那是因为我们插入的图片还没有更新的缘故,所以只要将图片插入系统图库,之后发条广播就ok了. /** * 图片插入到系统相册,解决系统图库不能打开图片的问题 */ public static void insertImageToSystemGallery(Context context, String filePath, Bitmap bitmap){ MediaStore.Image

Android保存图片到系统图库

最近有些用户反映保存图片之后在系统图库找不到保存的图片,遂决定彻底查看并解决下. Adnroid中保存图片的方法可能有如下两种: 第一种是自己写方法,如下代码: public static File saveImage(Bitmap bmp) { File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee"); if (!appDir.exists()) { appDir.mkdir(); } St

Android学习笔记之,调用系统图库,添加自定义字体,屏幕截图

新年开始的第一天就来学习了慕课迎春活动中的Android心愿分享一课,学到了几个知识点,在此记录一下. 1.调用系统图库调用系统图库用的是intent,步骤为弹出系统图库选择器,选择图片后获取到所选择的图片.代码如下: //在需要的地方调用 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/

Android 系统中,那些能大幅提高工作效率的 API 汇总(持续更新中...)

前言 "条条大路通罗马."工作中,实现某个需求的方式往往不是唯一的,这些不同实现方式不仅表现在代码质量上,还影响着我们的工作效率.就像,在 Android 系统中,总有那么一些鲜为人知的 API 能够减少我们很多零碎的工作量.于是,就想凭着一些经验,整理一些常用的,找个地方归纳总结,也供日后翻阅. getResources().getIdentifier(String name, String defType, String defPackage) 根据资源名称获取资源 id.正常情况

Android 如何从系统图库中选择图片

这几天我都在做Android的App,同时学习它的API,我将分享一些我学到的东西,比如: 如何从系统图库中选择图片. 首先,让我们来看看如何将手机系统图库集成到你的App中,然后再从图库中选择图片来做一些事.例如,在Facebook的App,你就可以直接选择手机上的图片上传到你的个人资料. 让我们来做一个简单例子,要求: 屏幕上显示一个按钮和图片视图控件. 点击"载入图片"按钮,将用户重定向到Android的图片库,在那里可以选择一个图片. 一旦图片被选中,图片将在主屏幕上的图片视图

Android开发之调用系统图库及相机

在Android开发中经常会用到图片的上传功能,一般常用的是调用Android系统自带的图库及拍照功能.示例代码如下: Java代码: public class TestActivity extends Activity { public final static int PHOTO_ZOOM = 0; public final static int TAKE_PHOTO = 1; public final static int PHOTO_RESULT = 2; public static f