android 相册实时更新
来源:互联网 发布:百度世界大会 知乎 编辑:程序博客网 时间:2024/05/05 13:15
最近做了一个项目,需求是将用户的微信号与客户的微信公众平台做一个绑定(其实就是用户关注客户的微信公众平台)。具体实现为在我们的app中生产一个客户的二维码图片,然后保存到手机的默认相册中(/DCIM/Camera/)中,然后启动微信,用户可以在微信的二维码扫描中选择照片进行扫描并关注客户的微信公众微信号。可是在扫描的过程中出现了问题:图片已经成功保存到默认路径中,可是在打开微信选择照片时却无法找到新加的图片。我使用的是小米2a作为测试机,刚开始以为是缓存的原因,可是清掉缓存还是不行,最后重启机器发现图片出现了,可是我需要的是实时显示图片,如果用户每次都需要重启机器,那也太扯蛋了。。。
于是只有问度娘了。。。
最后找出问题所在:android只会在每次启动的时候扫描相册,并将扫描到的信息存储在数据库。然后相册将直接调用数据库中的数据,所以当新的图片存到相册后,并没有将数据写入到数据库,所以在微信扫描里面自然就找不到这张图片了,所以解决的办法就是更新这个数据库。如何更新数据库呢?解决办法无非就是
1.重新扫描整个存储空间,将数据库更新,但是这样代价太大;
2.将新的数据加到数据库,这样操作对数据的安全性要求很高,所以还是不推荐;
3.直接扫描新添加的文件(当然也可以是该文件所在的文件夹)。
最后我使用了第三种方式解决了问题:代码如下
<span style="font-family:SimSun;font-size:18px;"><strong> Uri uri = Uri.parse("file://"+Environment.getExternalStorageDirectory() + File.separator + </strong></span>
<span style="font-family:SimSun;font-size:18px;"><strong><span style="white-space:pre"></span>Environment.DIRECTORY_DCIM++"/Camera/"+(文件名称,带后缀)); Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri); sendBroadcast(intent); </strong></span>
将这段代码加到保存图片之后。
0 0
- android 相册实时更新
- Android更新系统相册
- 通知Android系统相册更新
- Android网络通信实时更新
- android weiget 实时数据更新
- android menu实时更新内容
- Android网络通信实时更新
- Android-图片存入系统相册更新显示
- Android-实时将下载图片加入相册中
- android 实时更新与通知 (android poll)
- android后台下载 进度实时更新
- Android HttpURLConnection 网络通信实时更新
- Android使用Handler实时更新UI
- android常见错误(实时更新)
- Android 开发之实时更新 App Widget
- Android 开发之实时更新 App Widget
- Android 获取时间实时更新UI
- Android开发之--实时更新系统时间
- java几种排序方法
- 开发工具之Eclipse快捷键
- Facebook如何编程:扎克伯格亲自把关代码更新
- JavaScript权威指南_46_第6章_对象_6.9-序列化对象
- 增加根分区大小(root分区大小不够用了)
- android 相册实时更新
- Junit中对私有方法测试
- leetcode:Search for a Range
- DedeCMS借助function扩展实现特殊调用
- No result defined for action and result input
- iOS开发 UIWebView获取点击图片
- sqllite 之根据时间区间筛选数据
- IE8报错:Unable to modify the parent container element before the child element is closed
- Criteria Query常用的查询限制方法