相机意图创建文件夹但不保存图像

时间:2014-11-25 18:17:42

标签: android android-intent

在我的应用程序的相机意图中,它会创建我想要保存图像的文件夹,但它不会保存图像。

这是我到目前为止的代码:

 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;;

2 个答案:

答案 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"));

这将保存每个具有不同时间戳的新图像,因为每次都有名称,因此将避免新图像替换旧图像。

跳它可以帮助你。 :)