在我的应用程序中,我通过内置的相机活动拍摄图像并将其存储在 SD 卡中。我正在使用 intent.putextras 来获得高分辨率图像。
第一个设备 - 代码成功运行,我得到分辨率为 640X480 的图像。
第二个设备-当内置相机活动要求保存捕获的图像时,它会强制关闭。但是当我明确地将设备的相机分辨率更改为 640X480 并重新运行应用程序时,它工作得非常好。
问题:-
- 克服这个的方法??
- 这可能是与android版本相关的问题。两种设备的安卓版本不同。
- 是一种将分辨率参数(640,480)传递给内置相机活动的方法吗?还是需要自制相机活动?
这是代码
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()!=1000){
imageFile = "bmp"+v.getId()+".png";
File f = new File (folder,imageFile);
imageUri = Uri.fromFile(f);
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(i,CAMERA_PIC_REQUEST);
}
if(v.getId()==1000){
Intent openFinalShow = new Intent("com.integrated.mpr.FINALSHOW");
startActivity(openFinalShow);
finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
return;
}
}