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
}
}
}
}