日常记录:
把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上测试的没有问题,所以也没有改。