如何在应用程序的自定义文件夹中保存点击的图像?

时间:2015-11-02 15:17:49

标签: java android android-studio

我希望相机点击的图像保存在我的自定义文件夹" MyCameraApp"并且该图像将显示在应用程序的列表视图中。

以下是TakePhoto()代码:

/**
 * take a photo
 */
private void activeTakePhoto() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        String fileName = "temp.jpg";
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.TITLE, fileName);
        mCapturedImageURI = getContentResolver()
                .insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        values);
        takePictureIntent
                .putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

TakePhoto()函数调用REQUEST_IMAGE_CAPTURE:

case REQUEST_IMAGE_CAPTURE:
            if (requestCode == REQUEST_IMAGE_CAPTURE &&
                    resultCode == RESULT_OK) {
                String[] projection = {MediaStore.Images.Media.DATA};
                Cursor cursor =
                        managedQuery(mCapturedImageURI, projection, null,
                                null, null);
                int column_index_data = cursor.getColumnIndexOrThrow(
                        MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                String picturePath = cursor.getString(column_index_data);
                MyImage image = new MyImage();
                image.setTitle("Test");
                image.setDescription(
                        "test take a photo and add it to list view");
                image.setDatetime(System.currentTimeMillis());
                image.setPath(picturePath);
                images.add(image);
                daOdb.addImage(image);
                imageAdapter.notifyDataSetChanged();
                listView.invalidateViews();
            }
    }

0 个答案:

没有答案