2011-10-05 141 views
0

我使用相机从相机拍摄图像,并使用该图像显示它的另一种活动..相机打开,它的工作原理和拍摄图像,但是当我没有拍摄时从相机的图像意味着我只要打开相机,然后点击后退按钮的手段没有拍摄的图像我回去然后它的onActivityforresult()调用并显示最后点击图像从相机,所以如何避免它意味着如果不拍摄图像,那么它应该去回到它以前的活动,没有任何nulll指针异常,包含图像的路径应该为null,所以为了做到这一点,我们必须在完成任务后删除图库或SD卡中的图像,或者将一些空值赋给图像路径..pls帮助我。 ..选择的图像路径保存最后的图像路径,当图像不从相机拍摄

我的代码为开放式相机和拍摄图像和s AVE它外部存储低于..

  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如果我不从相机拍摄任何图像,并回到我以前的actity?

回答

0

我用

如果(requestCode == CAMERA_PIC_REQUEST){ 如果(resultCode为== Activity.RESULT_OK){ } }