Android 发送系统广播ACTION_MEDIA_SCANNER_SCAN_FILE更新相册无效
16lz
2021-01-23
日常记录:
把bitmap以png保存到手机本地,然后在相册中查看没有显示,但是在文件管理中却可以看到,4.4之后android提供了专门的API通知系统刷新制定路径,但是这个路径必须是Environment.getExternalStorageDirectory().getAbsolutePath() 开头,在保存成功后使用ACTION_MEDIA_SCANNER_SCAN_FILE这个广播更新却发现相册中并没有,代码:
String path = "文件路径";Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri uri = Uri.parse(path);intent.setData(uri);activity.sendBroadcast(intent);
然后上网搜了一下,看到很多人在传递Uri的时候是用的Uri.fromFile,然后就试了一下,发现成功了,具体原因暂没有研究,只是做一个记录,以下是修改过的代码:
String path = "文件路径";Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri uri = Uri.fromFile(new File(path));intent.setData(uri);activity.sendBroadcast(intent);
后记:评论里大哥说使用 FileProvider.getUriForFile,因为我是在Android8上测试的没有问题,所以也没有改。
更多相关文章
- 在android中利用多线程实现对控件的更新(动态修改文本框中的值)。
- 用HTML+JS实现Android闹钟功能,附带Alarm代码分享
- Android JUnit Test——批量运行测试代码
- 在 Android 使用 Support Annotations 注解优化代码
- Android判断网络连接是否可用(代码)
- Android中使用代码开关GPS、移动网络(GPRS)、WiFi
- Android performance今天的发现