这个问题最初是针对Android 1.6提出的.
我在我的应用程序中处理照片选项.
我的Activity中有一个按钮和一个ImageView.当我点击按钮时,它会重定向到图库,我可以选择一个图像.所选图像将出现在我的ImageView中.
我想做的事情似乎很简单,但经过几天的搜索,我无法弄明白.
我有一个应用程序,允许用户选择多个(最多5个)图像.我正在使用ImageView.当用户点击时ImageView,我想允许他们选择
我开始使用ACTION_GET_CONTENT意图,这对于进入画廊非常有用.那么我尝试使用ACTION_PICK_ACTIVITY意图允许用户选择相机或图库:
Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY);
Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT);
gallIntent.setType("image/*");
Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE");
pickIntent.putExtra(Intent.EXTRA_INTENT, camIntent);
pickIntent.putExtra(Intent.EXTRA_INTENT, gallIntent)
pickIntent.putExtra(Intent.EXTRA_TITLE, "Select Source");
startActivityForResult(pickIntent, IMAGE_SELECTOR);
Run Code Online (Sandbox Code Playgroud)
但似乎我只能添加一个EXTRA_INTENT.菜单按预期显示,但唯一的选项是图库和文件....没有相机).
有没有更好/更简单的方法来做到这一点,我错过了?谢谢你的帮助.
android android-intent android-gallery android-camera android-intent-chooser
如果我想从原生相机捕捉图像,我可以这样做:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)
如果我想从图库中获取图像,我可以这样做:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
Run Code Online (Sandbox Code Playgroud)
我想知道如何把上面两个放在一起.
这意味着从画廊或捕捉照片获取图像

有没有示例代码可以做到这一点?谢谢.
我可以找到很多答案,比如这个,关于如何使用 Java 和旧 API 创建一个意图,让用户在相机和图库之间进行选择。
然而,虽然通过 Kotlin 使用新的API来完成其中任何一个都相对简单ActivityResultContracts,但我无法理解如何让用户在这两个功能之间进行选择,而不为这两个功能创建单独的按钮(我宁愿避免)。
我应该如何编辑后一个链接答案的代码以使用户从系统菜单中选择是否使用相机或图库?