下面的代码请求新图片,裁剪它并将数据写入临时文件。它适用于搭载Android 2.2.1的HTC Desire HD。
但在使用Android 2.2的华为Ideos上,相机应用程序停止(应用程序相机意外停止),我的应用程序继续,没有拍摄任何照片。使用EVO 4G,Android 2.3.3的用户已经报告了类似的问题(可能相同)。
在Ideos手机上我拍摄照片后没有看到裁剪框,所以我猜这是相机应用程序中断的地方,我想这可能取决于相机应用程序的设备特定实现。有人有解决方案吗?
case 1:
Uri mSavedUri = Uri.fromFile(new File(basepath + "/temp" + imgExtension));
Intent newphoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
newphoto.putExtra("crop", "true");
newphoto.putExtra("outputX", imageSizeX);
newphoto.putExtra("outputY", imageSizeY);
if (imageAspect == 0) {
newphoto.putExtra("aspectX", 1);
newphoto.putExtra("aspectY", 1);
}
if (imageAspect == 1) {
newphoto.putExtra("aspectX", 4);
newphoto.putExtra("aspectY", 3);
}
if (imageAspect == 2) {
newphoto.putExtra("aspectX", 3);
newphoto.putExtra("aspectY", 4);
}
newphoto.putExtra("scale", true);
newphoto.putExtra("noFaceDetection", true);
newphoto.putExtra("setWallpaper", false);
newphoto.putExtra("output",mSavedUri);
startActivityForResult(newphoto, NEW_PHOTO);
break;
答案 0 :(得分:0)
Android相机的实现非常不同,并不支持所有 同样的选择。尝试从意图中删除所有不相关的设置 - 他们 可能会混淆一些相机应用程序
我的第一批候选人将是:noFaceDetection& setWallpaper