how to save capture image in sdcard?

后端 未结 6 2058
旧巷少年郎
旧巷少年郎 2021-01-27 11:19

I want to use default camera and capture image. i want save image in sdcard/photofolder/ and save filename as curenttime format in sdcard/photofolder/ also display capture imag

6条回答
  •  梦毁少年i
    2021-01-27 11:41

    Use this code to save image into SDcard and also create directory to store the captured image

      File photo = new File(Environment.getExternalStorageDirectory()+"/photofolder"); 
      System.out.println(photo.toString());
      boolean success = false;
      if(!photo.exists())
      { 
        success = photo.mkdirs(); 
      } 
        if(!success)
          {   
    
           Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
           photo = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Android/data/"+getApplicationContext().getPackageName()+"/files/Receipt", imagename+".png");
           Toast.makeText(this, photo.toString(), Toast.LENGTH_LONG);
           intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photo));
           Uri imageurl = Uri.fromFile(photo);  
           startActivityForResult(intent, CAMERA_RECEIPTREQUEST);   
           }  
    

    To display the captured image use the below code

     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
         super.onActivityResult(requestCode, resultCode, data);  
    
         switch(requestCode)
         {
         case CAMERA_RECEIPTREQUEST:  
             if(resultCode== Activity.RESULT_OK)
             {
                 if(data!=null)   
                     { 
                             BitmapFactory.Options options = new BitmapFactory.Options();
                     options.inSampleSize = 8;
                     ImageView jpgView = (ImageView)findViewById(R.id.imageView1);
                     Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);  
                      jpgView.setImage(receipt);
     }
     }
     }
    

提交回复
热议问题