0
我正在尝试在adroid上使用CAMERA intent来拍照并在照片视图中显示它。下面的代码工作正常,直到我拍照。然后我无法用“V”按钮确认并返回到我的活动。如果我点击“X”按钮,android会返回到没有照片的活动,但如果我点击“V”确认图片,则没有任何反应,并且我仍然卡在相机屏幕中。Android相机卡住了 - 无法捕捉图片
我正在使用API 14并使用android 4.0.2在虚拟和物理设备上进行测试。
哪里是我的错?
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class HandScryActivity extends Activity {
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private Uri uriSavedImage;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.handscry);
// Makes the filename
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();
File image = new File(imagesFolder, "image_001.jpg");
uriSavedImage = Uri.fromFile(image);
}
// Handles onGame clicked buttons
public void btnHandClick(View v) {
Button clickedButton = (Button) v;
// according to clicked button
switch (clickedButton.getId()) {
case R.id.btnBackToGame:
this.finish();
break;
case R.id.btnTakePicture:
Intent imageIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(imageIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
ImageView img = (ImageView) findViewById(R.id.imgHand);
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
// Display image
if (resultCode == RESULT_OK) {
img.setImageURI(uriSavedImage);
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
}
}