java - 在查看照片时按电源按钮并打开共享菜单会导致黑屏
问题描述
Android系统的默认照片查看应用程序用作默认查看器。它运行正常。
图片查看按钮代码如下:
//view source image
public void viewSourceClicked(View view){
Uri uri = getImageUri(this, MethodCommons.convertByteArrayToBitmap(itemToBeEdited.getOriginalImage()));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
startActivity(intent);
}
除了,当按下查看者的分享按钮显示分享菜单时,如果用户按下电源按钮(关闭屏幕),那么在恢复活动后单击此按钮只会导致黑屏。
重新启动包含照片查看按钮的应用程序并不能解决问题。
这个黑屏只能通过打开默认的照片查看应用程序并单击一次分享按钮来解决。所以我认为这与照片查看者的共享活动以某种方式保持打开状态有关。
如何防止出现这种黑屏?还有其他建议吗?
解决方案
最终我发现这是由于使用MediaStore.Images.Media.insertImage
.
使用FileProvider
代替insertImage
解决了这个问题。
推荐阅读
- java - 当 xml 中存在相同节点作为空标记时,将节点添加到 xml
- c++ - 重构类:无法将派生类中成员函数的通用代码移回基类
- c# - 当执行策略设置为 RemoteSigned 时,为什么从 Internet (azure blob) 下载后执行脚本
- css - 如何减少引导程序中选择之间的填充
- javascript - 让超时工作
- java - Gradle build with Lombok
- wix - WIX 合并 C++ 运行时
- wordpress - 重新提交解析验证后,提交时的重力表不收集条目
- jsf - p:fileUpload 不适用于同一页面中的 pe:blockUI
- magento - Magento 中缺少购物车信息