如何将图像保存到图库Android ap
问题描述:
我正在制作一个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);
}
答
您正在传入目录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();
}
}
}
}
+0
它让我拍照但由于某些原因,它仍然没有将其保存在Gallery文件夹中 –
+0
@CraigGallagher:没有“Gallery文件夹”。如果你的意思是你的设备上的一些图库类应用程序没有显示图像,那是因为相机应用程序没有要求'MediaStore'索引该文件。作为'onActivityResult()'的一部分,使用'MediaScannerConnection'及其'scanFile()'方法自己做。 – CommonsWare
您可能要检查: http://*.com/a/8722494/3390783 –