热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android图片存入系统相册更新显示实例详解

这篇文章主要介绍了Android图片存入系统相册更新显示实例详解的相关资料,需要的朋友可以参考下

Android 图片存入系统相册更新显示实例详解

在开发android的过程中,我们避免不了可能会涉及到做一个自定义相册或则会去本地创建一个文件夹来存储我们需要的图片。拿相册来说,比如我们创建一个test的文件夹,拍完一张照片后存储到这个指定的test文件夹里,然后在相册里面显示出来,就像微信的效果一样。拍完即可立即显示。但是,在实际开发过程中我们保存完一张图片后并不能立即更新显示出来这个图片,需要我们重启手机才能在系统相册中显示出来。

     这里先提供一个插入系统图库的方法:

     MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", "");
通过该方法即可把图片插入到系统图库中。但是,插入后并不会立即显示出来,需要发送一个广播:sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
来通知系统进行整个sd卡的扫描,如果sd里面的东西越多就会扫描的越久,并且扫描中我们不能访问sd卡,所以这样的实现方式对用户来说并不友好。

     这里我们可以使用系统api:MediaScannerConnection给我们的方法来进行扫描更新:

  
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 mHandler.sendEmptyMessageDelayed(1, 2000);

 mCOnnection=new MediaScannerConnection(mContext,this);
}

@Override
public void onMediaScannerConnected() {
 mConnection.scanFile("/sdcard/image.jpg", "image/jpeg");
}

@Override
public void onScanCompleted(String s, Uri uri) {
 Log.v("huan", "scan completed");
 mConnection.disconnect();
}

但是该种方法我在使用过程中发现一个问题就是:传入的context会被MediaScannerConnection一直持有,导致oom。所以在使用过程中在activity使用时还需要注意。

     另外我们还可以通过指定路径的方式来进行广播,这样就可以避免扫描整个sd卡:   

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory() + picPath)));

     图片更新的技巧和注意事项分享给大家,希望对你有帮助。


推荐阅读
  • 说明: 虽然android可使用数据岛实现bean和view元素的绑定,不过对于一天到晚杀鸡拔毛的人来说,这种宰牛刀始终是用起来不够直观顺手 ... [详细]
  • 【高效构建全面的iOS直播应用】(美颜功能深度解析)
    本文深入探讨了如何高效构建全面的iOS直播应用,特别聚焦于美颜功能的技术实现。通过详细解析美颜算法和优化策略,帮助开发者快速掌握关键技术和实现方法,提升用户体验。适合对直播应用开发感兴趣的开发者阅读。 ... [详细]
  • 通过一张截图深入解析字节跳动的 Java 开发实力
    在与一位来自字节跳动的朋友交流时了解到,根据他们近期招聘Java工程师的经验,大多数候选人往往在工作3年后会遇到一个难以跨越的瓶颈期。这是因为在职业生涯的这个阶段,许多工程师的技术深度和广度已经达到了一定的水平,但要进一步提升则需要更多的挑战和学习机会。字节跳动作为一家技术驱动的公司,通过严格的面试流程和实际项目经验,能够更好地评估候选人的技术水平和发展潜力。 ... [详细]
  • 【深度解析】基于用户体验五大维度全面剖析微信读书应用
    本文从用户体验的五个核心维度——视觉呈现、交互框架、战略目标、功能范围和信息结构,对微信读书应用进行了全面剖析。随着互联网的迅猛发展,知识更新的速度也在不断加快,这使得用户对于阅读应用的需求和期望越来越高。通过对这些维度的深入分析,本文旨在揭示微信读书在提升用户体验方面的优势与不足,为未来的优化提供参考。 ... [详细]
  • 倾诉成为“倒卖者”这段时间的心路历程与反思 ... [详细]
  • 本文深入解析了 Python 爬虫技术在 B 站数据挖掘中的应用,通过分析海量用户行为和内容数据,揭示了热门 UP 主成功的背后因素。Python 作为一种强大的编程语言,其面向对象和解释执行的特点使其成为数据抓取和处理的理想选择。文章详细介绍了如何利用 Python 爬虫技术获取 B 站的数据,并通过数据分析方法,探讨了热门 UP 主的创作策略和互动模式,为内容创作者提供了有价值的参考。 ... [详细]
  • 点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!来源|https:github.comwizardbyronprinci ... [详细]
  • 如何在百度阅读中查找和管理个人笔记?
    在百度阅读中,如何高效地查找和管理个人笔记呢?本文将为您详细介绍具体步骤。首先,打开百度阅读应用,进入主界面后,点击底部导航栏中的“我的”选项。接着,在个人中心页面向下滚动,找到并点击“我的笔记”功能入口,即可轻松查看和管理您的读书笔记。 ... [详细]
  • 在微信小程序中,长按图片无法像H5页面那样自动弹出保存图片的选项。为了提升用户体验,开发者需要自定义实现这一功能。具体而言,该功能的实现涉及两个关键步骤:首先,需要监听图片的长按事件;其次,调用微信提供的API来实现图片的保存操作。通过这些技术手段,可以显著改善用户在小程序中保存图片的体验。 ... [详细]
  • 本文详细分析了 LeetCode 1019 题目“链表中每个节点的下一个更大值”,探讨了如何在链表中找到每个节点右侧第一个比其值更大的节点。通过使用栈的数据结构,我们可以高效地解决这一问题,并提供了详细的代码实现和复杂度分析。 ... [详细]
  • 全面解析:Python数据分析精华资源汇总(附带企业级实践案例)
    最近几年,数据分析可真是太火了。阿里、字节等互联网巨头基于大数据打造的商业模式获得巨大成功,使得“数据思维”、“数据能力”迅速成为衡量职场人能力的核心指 ... [详细]
  • 如何更改微信官方账号的名称:详细步骤与注意事项 ... [详细]
  • 1.木棉说分类:知识服务平台,融资情况:完成a轮融资,金额3000万人民币,投资方得盛投资。简介:木棉说是一家基于互联网大数据为女性用户提供全方位的知识服务平台,旗下已拥有2000 ... [详细]
  • 后端开发|php教程numbering,addClass,COOKIE,POST,instanceof后端开发-php教程一:php变量商场项目源码,ubuntu安装其他系统,to ... [详细]
  • (本文出自《知识就是力量》杂志2015年9月刊)来自美国杜克大学的计算机电子工程师团队,研发出了能够实现超快速开关的LED灯管,每秒钟能够开关900亿次 ... [详细]
author-avatar
手机用户2502927617
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有