【android 删除相册图片并同步到图库】怀抱观古今,寝食展戏谑。这篇文章主要讲述android 删除相册图片并同步到图库相关的知识,希望能为你提供帮助。
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;
/**
* < pre>
* 吐司相关工具类
* < /pre>
*/
public class ToastUtils {
private ToastUtils() {
throw new UnsupportedOperationException("u can‘t instantiate me...");
}
private static Toast sToast;
private static Handler sHandler = new Handler(Looper.getMainLooper());
private static boolean isJumpWhenMore;
/**
* 吐司初始化
*
* @param isJumpWhenMore 当连续弹出吐司时,是要弹出新吐司还是只修改文本内容
*< p> {@code true}: 弹出新吐司< br> {@code false}: 只修改文本内容< /p>
*< p> 如果为{@code false}的话可用来做显示任意时长的吐司< /p>
*/
public static void init(boolean isJumpWhenMore) {
ToastUtils.isJumpWhenMore = isJumpWhenMore;
}
/**
* 安全地显示短时吐司
*
* @param text 文本
*/
public static void showShortToastSafe(final CharSequence text) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(text, Toast.LENGTH_SHORT);
}
});
}
/**
* 安全地显示短时吐司
*
* @param resId 资源Id
*/
public static void showShortToastSafe(final int resId) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_SHORT);
}
});
}
/**
* 安全地显示短时吐司
*
* @param resId 资源Id
* @param args参数
*/
public static void showShortToastSafe(final int resId, final Object... args) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_SHORT, args);
}
});
}
/**
* 安全地显示短时吐司
*
* @param format 格式
* @param args参数
*/
public static void showShortToastSafe(final String format, final Object... args) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(format, Toast.LENGTH_SHORT, args);
}
});
}
/**
* 安全地显示长时吐司
*
* @param text 文本
*/
public static void showLongToastSafe(final CharSequence text) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(text, Toast.LENGTH_LONG);
}
});
}
/**
* 安全地显示长时吐司
*
* @param resId 资源Id
*/
public static void showLongToastSafe(final int resId) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_LONG);
}
});
}
/**
* 安全地显示长时吐司
*
* @param resId 资源Id
* @param args参数
*/
public static void showLongToastSafe(final int resId, final Object... args) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_LONG, args);
}
});
}
/**
* 安全地显示长时吐司
*
* @param format 格式
* @param args参数
*/
public static void showLongToastSafe(final String format, final Object... args) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(format, Toast.LENGTH_LONG, args);
}
});
}
/**
* 显示短时吐司
*
* @param text 文本
*/
public static void showShortToast(CharSequence text) {
showToast(text, Toast.LENGTH_SHORT);
}
/**
* 显示短时吐司
*
* @param resId 资源Id
*/
public static void showShortToast(int resId) {
showToast(resId, Toast.LENGTH_SHORT);
}
/**
* 显示短时吐司
*
* @param resId 资源Id
* @param args参数
*/
public static void showShortToast(int resId, Object... args) {
showToast(resId, Toast.LENGTH_SHORT, args);
}
/**
* 显示短时吐司
*
* @param format 格式
* @param args参数
*/
public static void showShortToast(String format, Object... args) {
showToast(format, Toast.LENGTH_SHORT, args);
}
/**
* 显示长时吐司
*
* @param text 文本
*/
public static void showLongToast(CharSequence text) {
showToast(text, Toast.LENGTH_LONG);
}
/**
* 显示长时吐司
*
* @param resId 资源Id
*/
public static void showLongToast(int resId) {
showToast(resId, Toast.LENGTH_LONG);
}
/**
* 显示长时吐司
*
* @param resId 资源Id
* @param args参数
*/
public static void showLongToast(int resId, Object... args) {
showToast(resId, Toast.LENGTH_LONG, args);
}
/**
* 显示长时吐司
*
* @param format 格式
* @param args参数
*/
public static void showLongToast(String format, Object... args) {
showToast(format, Toast.LENGTH_LONG, args);
}
/**
* 显示吐司
*
* @param text文本
* @param duration 显示时长
*/
private static void showToast(CharSequence text, int duration) {
if (isJumpWhenMore) cancelToast();
if (sToast == null) {
sToast = Toast.makeText(Utils.getContext(), text, duration);
TextView tv = (TextView) sToast.getView().findViewById(android.R.id.message);
tv.setTextSize(17);
sToast.setGravity(Gravity.CENTER,0,0);
} else {
sToast.setText(text);
sToast.setDuration(duration);
}
sToast.show();
}
/**
* 显示吐司
*
* @param resId资源Id
* @param duration 显示时长
*/
private static void showToast(int resId, int duration) {
showToast(Utils.getContext().getResources().getText(resId).toString(), duration);
}
/**
* 显示吐司
*
* @param resId资源Id
* @param duration 显示时长
* @param args参数
*/
private static void showToast(int resId, int duration, Object... args) {
showToast(String.format(Utils.getString(resId), args), duration);
}
/**
* 显示吐司
*
* @param format格式
* @param duration 显示时长
* @param args参数
*/
private static void showToast(String format, int duration, Object... args) {
showToast(String.format(format, args), duration);
}
/**
* 取消吐司显示
*/
public static void cancelToast() {
if (sToast != null) {
sToast.cancel();
sToast = null;
}
}
}
推荐阅读
- Android ListView动画特效实现原理及源代码
- Android ShareSDKQQ 第三方登录so easy()
- Android开发圆形ImageView实现
- git常用命令与AndroidStudio常用快捷键
- Android事件分发机制源代码分析
- Android APK打包流程
- eclipse部署web项目至本地的tomcat但在webapps中找不到
- Android性能调优篇之探索JVM内存分配
- Android ViewPager用法小结