android删除照片,android 删除相册图片并同步到图库

这篇博客介绍了如何在Android中删除照片,并确保删除的图片从图库中同步消失。通过使用ContentResolver和MediaStore进行操作,首先查询图片ID,然后执行删除操作,最后发送Intent触发图库扫描更新。
摘要由CSDN通过智能技术生成

private void deleteImage(String imgPath) {

ContentResolver resolver = getContentResolver();

Cursor cursor = MediaStore.Images.Media.query(resolver, MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

new String[]{MediaStore.Images.Media._ID}, MediaStore.Images.Media.DATA + "=?",

new String[]{imgPath}, null);

boolean result = false;

Uri uri = null;

if (cursor.moveToFirst()) {

long id = cursor.getLong(0);

Uri contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

uri = ContentUris.withAppendedId(contentUri, id);

int count = getContentResolver().delete(uri, null, null);

result = count == 1;

} else {

Cursor cursor2 = MediaStore.Images.Media.query(resolver, MediaStore.Video.Media.EXTERNAL_CONTENT_URI,

new String[]{MediaStore.Images.Media._ID}, MediaStore.Images.Media.DATA + "=?",

new String[]{imgPath}, null);

if (cursor2.moveToFirst()) {

long id = cursor2.getLong(0);

Uri contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;

uri = ContentUris.withAppendedId(contentUri, id);

int count = getContentResolver().delete(uri, null, null);

result = count == 1;

}

}

//更新到图库

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);

intent.setData(Uri.fromFile(new File(imgPath)));

sendBroadcast(intent);

}

Toast工具类

import android.os.Handler;

import android.os.Looper;

import android.view.Gravity;

import android.widget.TextView;

import android.widget.Toast;

/**

*

 
 

* 吐司相

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值