Android应用程序内的相机控制

| 我正在为基于照片库的Android 2.2构建应用程序。有一个选项可以从相机拍照并在应用程序中使用它。我期望: 从应用程序启用相机。 拍照。 自动关闭相机并在应用程序中显示拍摄的照片 不幸的是,我无法将捕获的图像发送到应用程序。拍照后,相机不会自动关闭或返回应用程序。现在,我必须单击“后退”按钮转到应用程序,然后从SD卡中手动选择图片。相机是通过意图打开的,我正在使用以下课程。 http://developer.android.com/reference/android/hardware/Camera.html     
已邀请:
        您需要做两件事。启动“相机”应用,并告诉它所拍摄照片的存储位置:
File photo = new File(Environment.getExternalStorageDirectory(),  \"myFile.jpg\");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
startActivityForResult(intent, myRequestCode);
当用户关闭“相机”应用程序时,您的应用程序和“活动”将恢复。因此,您必须重写onActivityResult才能获得结果:
if (resultCode == myRequestCode){
  File photo = new File(Environment.getExternalStorageDirectory(), \"myFile.jpg\");
  // open it, show it, insert into MediaStore whatever
}
如果您没有提供保存位置,则可以使用Intent.EXTRA_STREAM使用intent.getData或intent.getParcelableExtra进行检索。     
        我猜..您正在做类似下面的代码 Intent cameraIntent =新Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);             // 请求代码
        startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
使用startActivityForResult而不是startActivity ..每当您用相机完成..按ok ..之后,您将返回到活动..然后在活动中将调用onActivityResult回调。在这里,您将获得点击图像的数据。 谢谢。     
        michaelg的答案就在现场。 只有您必须考虑带有图像捕获错误的设备。 在这里阅读: Android ACTION_IMAGE_CAPTURE意向     

要回复问题请先登录注册