一身转战三千里,一剑曾当百万师。这篇文章主要讲述Android图片下载到本地,系统图库不显示相关的知识,希望能为你提供帮助。
可能大家都知道我们下载图片到Android手机的时候,然后调用系统图库打开图片,提示“找不到指定项”。
那是因为我们插入的图片还没有更新的缘故,所以只要将图片插入系统图库,之后发条广播就ok了。
/** * 图片插入到系统相册,解决系统图库不能打开图片的问题 */ public static void insertImageToSystemGallery(Context context, String filePath, Bitmap bitmap){ MediaStore.Images.Media.insertImage(context.getContentResolver(), bitmap, "", ""); Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(new File(filePath)); intent.setData(uri); context.sendBroadcast(intent); }
附上获取图片路径的方法:
//获取图片的绝对路径 privateString getFilePathByContentResolver(Context context, Uri uri) { if (null == uri) { return null; } Cursor c = context.getContentResolver().query(uri, null, null, null, null); String filePath= null; if (null == c) { throw new IllegalArgumentException( "Query on " + uri + " returns null result."); } try { if ((c.getCount() != 1) || !c.moveToFirst()) { } else { filePath = c.getString( c.getColumnIndexOrThrow(MediaColumns.DATA)); } } finally { c.close(); } return filePath; }
【Android图片下载到本地,系统图库不显示】
推荐阅读
- android 观察者模式
- Android_JNI
- Android为啥推荐用DialogFragment创建Dialog?
- 跟着Innost理解下Android控件(ViewRoot)系统
- 我的Android进阶之旅如何在浏览器上使用Octotree插件树形地展示Github项目代码()
- Android之线程池深度剖析
- Android开发5(应用程序窗口小部件App Widgets的实现)
- Android Context getSystemService分析
- Android View的事件分发机制