android 在 OnActivityResult() 中处理相机图像
android process camera image AFTERwards in OnActivityResult()
根据我正在使用的 Google Android 相机教程:
new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
或
new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
在我的应用程序中打开相机。
不幸的是,这会强制用户事先决定并阻止用户在图片和视频模式之间切换。
我的问题是我希望用户直接转到相机,能够在图片和视频模式之间切换,
然后相应地保存 image/video。
有什么方法可以:
1) 读取onActivityResult()中的Intent数据并
2) 确定 (AFTER 图片已保存,NOT之前)无论是图片还是视频,
然后
3) 相应地将图像重命名为“.jpg”或“.mp4”?
我注意到当我使用
new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
然后相机可以在图片和视频之间切换。
但是它不会以编程方式保存文件。
I want the user to go directly to the camera, be able to toggle between picture & video mode, and then save the image/video accordingly.
这通常是不可能的,原因很简单,因为您要求 其他应用程序 代表您拍摄照片和视频。 Android 为此建立的协议是通过您目前正在使用的 Intent
操作。没有 ACTION_CAPTURE_SOMETHING_THAT_THE_USER_THINKS_IS_COOL
或等价物允许您表达您希望用户在启动第三方相机后做出选择 activity。
I've noticed that when I use new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
that the camera can then toggle between pic & vid.
仅适用于您尝试过的几千个相机应用(由设备制造商预装,由用户从 Play 商店下载等)。 The documentation 当然不会暗示所有相机应用程序都会出现这种行为。
根据我正在使用的 Google Android 相机教程:
new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
或
new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
在我的应用程序中打开相机。
不幸的是,这会强制用户事先决定并阻止用户在图片和视频模式之间切换。
我的问题是我希望用户直接转到相机,能够在图片和视频模式之间切换, 然后相应地保存 image/video。
有什么方法可以:
1) 读取onActivityResult()中的Intent数据并
2) 确定 (AFTER 图片已保存,NOT之前)无论是图片还是视频,
然后
3) 相应地将图像重命名为“.jpg”或“.mp4”?
我注意到当我使用
new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
然后相机可以在图片和视频之间切换。
但是它不会以编程方式保存文件。
I want the user to go directly to the camera, be able to toggle between picture & video mode, and then save the image/video accordingly.
这通常是不可能的,原因很简单,因为您要求 其他应用程序 代表您拍摄照片和视频。 Android 为此建立的协议是通过您目前正在使用的 Intent
操作。没有 ACTION_CAPTURE_SOMETHING_THAT_THE_USER_THINKS_IS_COOL
或等价物允许您表达您希望用户在启动第三方相机后做出选择 activity。
I've noticed that when I use
new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
that the camera can then toggle between pic & vid.
仅适用于您尝试过的几千个相机应用(由设备制造商预装,由用户从 Play 商店下载等)。 The documentation 当然不会暗示所有相机应用程序都会出现这种行为。