【发布时间】:2015-09-07 05:04:50
【问题描述】:
我在应用中使用相机时遇到问题。
当应用打开时,在 ImageView - “no_photo” 图像中。
当我点击图片时,相机会使用意图打开。
如果我得到图像,应用程序运行良好。但是,如果我单击“返回”或“取消”,我的代码将不起作用。 我需要在 ImageView 上设置“no_photo”图像,但结果我有空白页。
我尝试了各种方法,但它们也不起作用:
setImageResource();
setImageDrawable();
这段代码调用相机:
CamPRW.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// create Intent to take a picture and return control to the calling application
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
MainPageActivity.fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, MainPageActivity.fileUri); // set the image file name
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
});
OnActivityResult:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == MainPageActivity.RESULT_OK) {
CamPRW.setImageURI(MainPageActivity.fileUri);
CamPRW.setScaleX(-1.0f);
} else{
CamPRW.setImageDrawable(getResources().getDrawable(R.drawable.no_photo));
}
}
附: 我尝试过使用“RESULT_CANCELED”代码,但它也不起作用
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == MainPageActivity.RESULT_OK) {
CamPRW.setImageURI(MainPageActivity.fileUri);
CamPRW.setScaleX(-1.0f);
}
if (resultCode == MainPageActivity.RESULT_CANCELED) {
CamPRW.setImageDrawable(getResources().getDrawable(R.drawable.no_photo));
}
}
}
【问题讨论】:
-
在返回/取消时,您还需要发送请求代码。
标签: android android-intent camera