2015-10-26 2 views
0

Я делаю приложение для Android, при нажатии на кнопку он открывает камеру, однако после съемки изображения изображение не сохраняется. Я хочу сохранить его в своем альбоме галереи.Как сохранить изображение в галерею Android ap

public void onClickbtnCamera(View v){ 

    Intent intent1 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    Uri uriSavedImage=Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera/")); 
    intent1.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); 
    startActivityForResult(intent1,3); 

} 
+0

Вы можете проверить это: http://stackoverflow.com/a/8722494/3390783 –

ответ

0

Вы проходили в каталоге по EXTRA_OUTPUT. EXTRA_OUTPUT должен указывать на файл:

package com.commonsware.android.camcon; 

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.provider.MediaStore; 
import java.io.File; 

public class CameraContentDemoActivity extends Activity { 
    private static final int CONTENT_REQUEST=1337; 
    private File output=null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    File dir= 
     Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 

    output=new File(dir, "CameraContentDemo.jpeg"); 
    i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output)); 

    startActivityForResult(i, CONTENT_REQUEST); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, 
            Intent data) { 
    if (requestCode == CONTENT_REQUEST) { 
     if (resultCode == RESULT_OK) { 
     Intent i=new Intent(Intent.ACTION_VIEW); 

     i.setDataAndType(Uri.fromFile(output), "image/jpeg"); 
     startActivity(i); 
     finish(); 
     } 
    } 
    } 
} 

(от this sample project)

+0

Это позволить мне сделать снимок но по какой-то причине он по-прежнему не сохраняет его в папке «Галерея» –

+0

@CraigGallagher: «Папка« Галерея »отсутствует. Если вы имеете в виду, что какое-либо приложение типа галереи на вашем устройстве не отображает изображение, это связано с тем, что приложение камеры не запрашивало «MediaStore» для индексации файла. Используйте 'MediaScannerConnection' и его метод' scanFile() ', чтобы сделать это самостоятельно, как часть' onActivityResult() '. – CommonsWare