我开始像这样的相机意图:
public Intent openCamera(Context mContext) {
File photoFile = null;
cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (cameraIntent.resolveActivity(mContext.getPackageManager()) != null) {
try {
photoFile = createImageFile();
} catch (IOException e) {
e.printStackTrace();
}
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
cameraIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(cameraIntent);
Toast.makeText(mContext, "CESTA: " + absolutePatch, Toast.LENGTH_LONG).show();
}
return cameraIntent;
}
我使用startActivity
因为我无法使用startActivityForResult
我需要捕捉相机结果我该怎么做?
答案 0 :(得分:2)
您应该使用startActivityForResult()
开始活动。在启动此活动以捕获摄像机数据的活动中,您还应实施方法onActivityResult()
。
来自Google文档:
"执行startActivityForResult()方法时,用户会看到相机应用程序界面。用户完成拍照(或取消操作)后,用户界面将返回到您的应用程序,您必须拦截onActivityResult()方法以接收intent的结果并继续执行应用程序。有关如何接收完成的意图的信息,请参阅接收相机意图结果。"