Android 为什么返回/取消单击结果不';不行?

Android 为什么返回/取消单击结果不';不行?,android,android-intent,camera,Android,Android Intent,Camera,我在应用程序中使用摄像头时遇到问题 当应用程序打开时,在ImageView中显示“无照片”图像 当我点击图片时,相机会打开并显示使用意图 若我得到图片,那个么这个应用程序运行得很好。但如果我点击“后退”或“取消”,我的代码就不起作用了。 我需要在ImageView上设置“no_photo”图像,但结果是我的页面为空 我尝试过各种方法,但都不管用: setImageResource(); setImageDrawable(); 此代码称为摄像机: CamPRW.setOnClickListene

我在应用程序中使用摄像头时遇到问题

当应用程序打开时,在ImageView中显示“无照片”图像

当我点击图片时,相机会打开并显示使用意图

若我得到图片,那个么这个应用程序运行得很好。但如果我点击“后退”或“取消”,我的代码就不起作用了。 我需要在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\u cancelled”代码,但它也不起作用

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

我认为,
onActivityResult
在收到回拨/取消按钮时 在背面添加
代码段
/单击取消按钮。添加所需的传递值,并在ActivityResult中处理

  Bundle bundle = new Bundle();
  bundle .putString(key, value);
  Intent i = getIntent(); //gets the intent that called this intent
  i.putExtras(bundle);
  setResult(Activity.RESULT_OK, i);
  finish();

哦。这是我的错。我忘了变量状态在重新开始时签入。现在它可以使用旧代码。谢谢问题已解决。

在返回/取消时,您还需要发送请求代码。