当图像未从相机拍摄时,所选图像路径保存最后图像路径

时间:2011-10-05 10:07:31

标签: android

我使用相机从相机拍摄图像并使用该图像显示另一个活动...相机打开它工作并拍摄图像但是当我没有从相机拍摄图像意味着我只需打开相机并点击后退按钮意味着没有拍摄图像我回去然后它的onActivityforresult()调用并显示来自相机的最后点击图像所以如何避免它意味着如果不采取图像然后它应该回到它以前的活动没有任何nulll指针异常和路径包含图像应该为null所以为了做到这一点,我们必须在执行任务后删除图库或SD卡中的图像或将一些空值设置为图像路径..pls帮助我...

我的开放式相机代码和拍摄图像并将其保存在外部存储设备中。

          public void function(int id){

           selectedImagePath    =             Environment.getExternalStorageDirectory() + "/photo1.jpg";
                File file = new File(selectedImagePath);
                Uri outputFileUri = Uri.fromFile(file);
                Intent intent = new Intent(
                        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);                
                startActivityForResult(intent, CAMERA_PIC_REQUEST);

        }

     public void onActivityResult(int requestCode, int resultCode, Intent data) {
            try{


            if (requestCode == CAMERA_PIC_REQUEST) {
                 if(selectedImagePath!=null){
                      Log.i("onActivityResult3","onActivityResult3");

                      Intent i=new Intent(getBaseContext(),Imageprview.class);
                      startActivity(i);
                      System.out.println(selectedImagePath);
                }

                 else
                        System.out.println("selectedImagePath is null");



                }}catch (NullPointerException e) {
                    // TODO: handle exception
                }   

那么如果我不从相机拍摄任何图像并回到之前的行为,如何使selectedImagePath = null?

1 个答案:

答案 0 :(得分:0)

我用过

if(requestCode == CAMERA_PIC_REQUEST){                      if(resultCode == Activity.RESULT_OK){ } }