我有我的应用程序,所以我有能力打开相机并拍照,然后应用程序向我显示刚刚拍摄的照片的预览,当我按下“确定”时,它就消失了。我希望能够将我拍摄的图像保存到手机上的内部存储器中(并且可能具有一个功能,以便我可以访问我的图库并稍后进行预览)。我到处搜索,但我得到的所有帮助都是将它存储在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);
}
答案 0 :(得分:0)
你想要达到的目标非常复杂, 我不确定你是否可以使用这种通用的存储方法来实现它
File root = Environment.getExternalStorageDirectory();
但是在这篇文章中有一个战利品,它应该有你需要的东西
答案 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);