Android 我怎么知道照相机的回答是什么?
我这样开始拍摄:Android 我怎么知道照相机的回答是什么?,android,android-intent,android-camera,Android,Android Intent,Android Camera,我这样开始拍摄: public Intent openCamera(Context mContext) { File photoFile = null; cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (cameraIntent.resolveActivity(mContext.getPackageManager()) != null) { try {
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
我需要捕捉相机结果我该怎么做?您应该使用
startActivityForResult()
开始活动。在启动此活动以捕获相机数据的活动中,还应实现activityresult()上的方法
从谷歌文档:
执行startActivityForResult()方法时,用户会看到一个摄像头应用程序界面。用户完成拍照(或取消操作)后,用户界面将返回到应用程序,您必须截取onActivityResult()方法接收意图结果并继续应用程序执行。有关如何接收完成的意图的信息,请参阅接收摄影机意图结果。“
为什么不能使用
startActivityForResult()
?我如何知道摄像头的回答?
。。。你能用英语翻译这个句子吗?你必须用startActivityForResult()
来验证它在对象内部,在这个地方我需要调用activityforresult(这不起作用)或捕获结果我不明白你的问题。您以刚刚创建的意图启动摄影机意图;例如,您应该使用Intent-cameraIntent=openCamera(this);startActivityForResult(摄像机帐篷、摄像机请求码);受保护的void onActivityResult(int requestCode、int resultCode、Intent data){//HANDLE YOUR data}
我知道。但是当我写mContext(这是这个对象中的上下文)时,我有这个选项startActivity(),我的意思是mContext.startActivity(myintent),我不理解你的问题。@Lukᚊlek:除非你使用活动和startActivityForResult()
。您需要将应用程序重新设计为活动
,以便拍照。