0

그냥 내 휴대폰에있는 Imagefolder에 사진을 저장하고 싶습니다. 나는 내가 시도한 2 가지 예를 가지고있다.Android : 사진을 Imagefolder에 저장

1 예

내 응용 프로그램 충돌을 나는 온 클릭 방법을 활성화 :

public void onClick(View arg0) { 

     Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

     startActivityForResult(cameraIntent, 1337); 
}}); 

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     { 

    if(requestCode == 1337) 
      { 
       Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 

MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName()); 

      } 
      else 
      { 
       Toast.makeText(AndroidCamera.this, "Picture NOt taken", Toast.LENGTH_LONG); 
      } 
      super.onActivityResult(requestCode, resultCode, data); 
     } 

2. 예

나는 열린 우리당 내 찍은 사진을 저장하기 전에. 그러나 내 그림은 PC 또는 FileApp에서만 액세스 할 수있는 폴더에 저장되었습니다. Uri로 경로 방향을 휴대폰의 기존 기본 이미지 폴더로 어떻게 바꿀 수 있는지 알지 못합니다.

Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues()); 

답변

1

내가 지정한 imagefolder에 이미지를 저장하여 관리하는 방법이있다

카메라 의도를 시작할 때 카메라 시작할 때 나는 경로와 내 이미지가 저장 될 디렉토리를 정의하고,이 같은 intetn 추가 합격 :

private void startCameraIntent() { 
     //create file path 
     final String photoStorePath = getProductPhotoDirectory().getAbsolutePath(); 

     //create file uri 
     final Uri fileUri = getPhotoFileUri(photoStorePath); 

     //create camera intent 
     final Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

     //put file ure to intetn - this will tell camera where to save file with image 
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 
     // start activity 
     startActivityForResult(cameraIntent, REQUEST_CODE_PHOTO_FROM_CAMERA); 

     //start image scanne to add photo to gallery 
     addProductPhotoToGallery(fileUri); 
    } 

그리고 여기가

private File getProductPhotoDirectory() { 
     //get directory where file should be stored 
     return new File(Environment.getExternalStoragePublicDirectory(
       Environment.DIRECTORY_PICTURES), 
       "myPhotoDir"); 
    } 

    private Uri getPhotoFileUri(final String photoStorePath) { 

     //timestamp used in file name 
     final String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss", 
       Locale.US).format(new Date()); 

     // file uri with timestamp 
     final Uri fileUri = Uri.fromFile(new java.io.File(photoStorePath 
       + java.io.File.separator + "IMG_" + timestamp + ".jpg")); 

     return fileUri; 
    } 

    private void addProductPhotoToGallery(Uri photoUri) { 
     //create media scanner intetnt 
     Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 

     //set uri to scan 
     mediaScanIntent.setData(photoUri); 
     //start media scanner to discover new photo and display it in gallery 
     this.sendBroadcast(mediaScanIntent); 
    } 
+0

타이 위의 코드에서 사용하는 도우미 메서드 중 일부입니다 당신의 대답을 위해. 방금 기본 카메라가 열렸습니다. 나는 사진을 찍음으로써 사라지는 오버레이가있는 미리보기 카메라를 가지고 있습니다. 의도 카메라가 무엇을하고 있는지 정확히 알지 못하지만, 내가 생각하기에, 그 카메라 없이는해야만합니까? :) – csnewb

+0

예, 응용 프로그램에서 카메라를 관리하는 경우 기본 응용 프로그램을 실행할 필요가 없습니다. –

관련 문제