java - 如何在 Android 的默认图像查看器中打开图像
问题描述
我使用以下代码打开默认文件管理器并查找图像,但是当我单击图像时,活动关闭。
我可以选择 Activity 顶部的文件,我看到了这个词Open
,但是当我点击它时它会自行关闭。
我想捕捉这个事件并在我的自定义活动中以全屏模式打开选定的图像。
int PICKFILE_REQUEST_CODE=10;
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(intent, PICKFILE_REQUEST_CODE);
解决方案
尝试使用此代码
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(fileuri, "image/*");
startActivity(intent);
编辑:
首先使用打开图库的方法选择图像文件
private void dispatchImageGalleryIntent() {
Intent galleryIntent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
try {
startActivityForResult(galleryIntent, REQUEST_CODE_IMAGE_GALLERY);
} catch (Exception e) {
e.printStackTrace();
}
}
然后在onActivityResult
if (requestCode == REQUEST_CODE_IMAGE_GALLERY){
if (resultCode == RESULT_OK){
Uri fileuri = intent.getData();
}
}
用于fileUri
打开图像。
推荐阅读
- javascript - getElementById() 方法不适用于我的最后一个函数
- sql-server - 在 SQL Server 结果中查询 XML 的问题
- tsql - 动态 sql 被 exec 尝试截断
- php - 将一个数组值作为键值对附加到另一个数组php
- sqlite - 无法在 React Native 项目上安装 SQLite
- python - 如何处理和提取图像中的文本
- visual-studio-2019 - VS 2019 - 切换行注释快捷方式不起作用?
- c++ - 这个成员函数没有被调用,我不知道如何纠正它
- vba - VBA/AutoLisp - 如何检查块是否通过 AutoCAD 中的代码进行分组
- c# - 无法在 C# ConcurrentDictionary 上调用 PropertyChanged 事件