在我的应用程序的相机意图中,它会创建我想要保存图像的文件夹,但它不会保存图像。
这是我到目前为止的代码:
Intent getCameraImage = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
getApplicationContext().getDir(
getResources().getString(R.string.app_name), MODE_PRIVATE);
File onsdcarddir = new File(Environment.getExternalStorageDirectory() +
"/" +getResources().getString(R.string.app_name));
if (!onsdcarddir.exists()) {
onsdcarddir.mkdir(); // create dir here
}
startActivityForResult(getCameraImage, TAKE_PICTURE);
}
我在这里缺少什么?有人可以帮忙吗?
更新
OnAcivityResult代码:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PICTURE && resultCode == RESULT_OK)
{
String bitmap = Environment.getExternalStorageDirectory()+"image.jpg";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;;
答案 0 :(得分:1)
试试这个,
Intent getCameraImage = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri imgUri = Uri.fromFile(new File((Environment.getExternalStorageDirectory() +
"/" +getResources().getString(R.string.app_name), "image.jpg"));
getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, imgUri);
startActivityForResult(getCameraImage, TAKE_PICTURE);
如果它适合你,请标记为。
答案 1 :(得分:1)
要保存不同的图像,您可以将“image.jpg”更改为某个动态名称..
Uri imgUri = Uri.fromFile(new File((Environment.getExternalStorageDirectory() +
"/" +getResources().getString(R.string.app_name), "image.jpg"));
类似
Uri imgUri = Uri.fromFile(new File((Environment.getExternalStorageDirectory() +
"/" +getResources().getString(R.string.app_name), new Date().getTime() + ".jpg"));
这将保存每个具有不同时间戳的新图像,因为每次都有名称,因此将避免新图像替换旧图像。
跳它可以帮助你。 :)