拍摄相机意图后删除图库图像我知道这有许多不同的方式,但我似乎无法从默认文件夹中删除图库图像。我正确地将文件保存到SD卡,我可以删除该文件,但在Camera文件夹下显示的默认图库文件不会删除。我希望在返回活动后删除图像,因为文件已存储在SD卡下/Coupon2。有什么建议?public void startCamera() {
Log.d("ANDRO_CAMERA", "Starting camera on the phone...");
mManufacturerText = (EditText) findViewById(R.id.manufacturer);
String ManufacturerText = mManufacturerText.getText().toString();
String currentDateTimeString = new Date().toString();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File filedir = new File(Environment.getExternalStorageDirectory()+"/Coupon2");
filedir.mkdirs();
File file = new File(Environment.getExternalStorageDirectory()+"/Coupon2", ManufacturerText+"-test.png");
outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, CAMERA_PIC_REQUEST);}protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_PIC_REQUEST && resultCode == -1) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.putExtra("crop", "true");
intent.putExtra("scale", "true");
intent.putExtra("return-data", false);
intent.setDataAndType(outputFileUri, "image/*");
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, CAMERA_CROP_REQUEST);
}else {
SetImage();
saveState();
}}
3 回答
MYYA
TA贡献1868条经验 获得超4个赞
这将从库中删除该文件:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == CAMERA_PIC_REQUEST && resultCode == RESULT_OK) { /* Copy the file to other directory or whatever you want */ // mContext is the context of the activity mContext.getContentResolver().delete(data.getData(), null, null); } }
关于EXTRA_OUTPUT不是标准行为。我认为这种伪算法应该适用于所有情况:
1)不要使用EXTRA_OUTPUT。图像/照片始终会转到图库位置。
2)将文件从库位置复制到所需位置。
3)从库中删除(使用上面的代码)文件。
但是当然它似乎太完美了......在某些设备中(例如原版带有android 2.3的Galaxy Tab),你必须使用EXTRA_OUTPUT和ACTION_IMAGE_CAPTURE,否则意图不起作用。
- 3 回答
- 0 关注
- 469 浏览
添加回答
举报
0/150
提交
取消