44 lines
1.6 KiB
Java
44 lines
1.6 KiB
Java
|
|
package com.qxcm.moduleutil.widget;
|
||
|
|
|
||
|
|
import android.content.ContentResolver;
|
||
|
|
import android.content.ContentValues;
|
||
|
|
import android.content.Context;
|
||
|
|
import android.content.Intent;
|
||
|
|
import android.graphics.Bitmap;
|
||
|
|
import android.net.Uri;
|
||
|
|
import android.os.Environment;
|
||
|
|
import android.provider.MediaStore;
|
||
|
|
import android.widget.Toast;
|
||
|
|
|
||
|
|
import java.io.IOException;
|
||
|
|
import java.io.OutputStream;
|
||
|
|
|
||
|
|
public class ImageSaveUtils {
|
||
|
|
|
||
|
|
public static void saveImg(Context context, Bitmap bitmap) {
|
||
|
|
String fileName = "image_" + System.currentTimeMillis() + ".jpg";
|
||
|
|
|
||
|
|
ContentValues values = new ContentValues();
|
||
|
|
values.put(MediaStore.MediaColumns.DISPLAY_NAME, fileName);
|
||
|
|
values.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");
|
||
|
|
values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES);
|
||
|
|
|
||
|
|
ContentResolver resolver = context.getContentResolver();
|
||
|
|
Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
|
||
|
|
|
||
|
|
try (OutputStream os = resolver.openOutputStream(uri)) {
|
||
|
|
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
|
||
|
|
Toast.makeText(context, "图片已保存到相册", Toast.LENGTH_SHORT).show();
|
||
|
|
} catch (IOException e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
Toast.makeText(context, "保存失败", Toast.LENGTH_SHORT).show();
|
||
|
|
}
|
||
|
|
|
||
|
|
// 发送广播通知系统刷新图库
|
||
|
|
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
|
||
|
|
mediaScanIntent.setData(uri);
|
||
|
|
context.sendBroadcast(mediaScanIntent);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|