私のアプリケーションでは、組み込みのカメラ アクティビティを使用して画像を取得し、SD カードに保存しています。高解像度の画像を取得するために、intent.puttextras を使用しています。
最初のデバイス - コードが正常に動作し、解像度 640X480 の画像が得られました。
2番目のデバイス-組み込みのカメラアクティビティがキャプチャした画像の保存を要求すると、強制的に閉じます。しかし、デバイスのカメラ解像度を明示的に 640X480 に変更してアプリケーションを再実行すると、完全に正常に動作します。
質問:-
- これを克服する方法??
- これは Android バージョンに関連する問題でしょうか。2 つのデバイスの 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;
}
}