如何在Android应用上拍照,并将照片保存到内部存储中的图库? (不是SD卡)

时间:2017-12-18 18:45:15

标签: android android-camera-intent

我有我的应用程序,所以我有能力打开相机并拍照,然后应用程序向我显示刚刚拍摄的照片的预览,当我按下“确定”时,它就消失了。我希望能够将我拍摄的图像保存到手机上的内部存储器中(并且可能具有一个功能,以便我可以访问我的图库并稍后进行预览)。我到处搜索,但我得到的所有帮助都是将它存储在SD卡上,而我想使用内置存储的手机。谢谢

到目前为止我的代码:

Button butCamera;
ImageView imageView;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera);

    butCamera = (Button) findViewById(R.id.butCamera);
    imageView = (ImageView) findViewById(R.id.imageView);



    butCamera.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent (MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, 0);
        }

});
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    Bitmap bitmap = (Bitmap)data.getExtras().get("data");
    imageView.setImageBitmap(bitmap);

}

2 个答案:

答案 0 :(得分:0)

你想要达到的目标非常复杂, 我不确定你是否可以使用这种通用的存储方法来实现它

File root = Environment.getExternalStorageDirectory();

但是在这篇文章中有一个战利品,它应该有你需要的东西

android - save image into gallery

答案 1 :(得分:-1)

要将图像存储到设备的内部存储器,您必须执行以下操作。

File file = new File(Environment.getExternalStorageDirectory(), "MyFile.jpg");
Uri uri = Uri.fromFile(file);

intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

startActivityForResult(intent, CAMERA_REQUEST);