1、权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2、主代码
package com.fpt.bitmap2image;
/***
*
* 将bitmap保存到本地目录
*
* */
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.UUID;
public class MainActivity extends AppCompatActivity {
private Bitmap bitmap;
private static final String SD_PATH = "/sdcard/dskqxt/pic/";//保存地址
private static final String IN_PATH = "/dskqxt/pic/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bitmap= ((BitmapDrawable) getResources().getDrawable(R.mipmap.ic_launcher)).getBitmap();
saveBitmap(this,bitmap);
}
public static String saveBitmap(Context context, Bitmap mBitmap) {
String savePath;
File filePic;
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
savePath = SD_PATH;
} else {
savePath = context.getApplicationContext().getFilesDir()
.getAbsolutePath()
+ IN_PATH;
}
try {
filePic = new File(savePath + generateFileName() + ".jpg");//保存的格式为jpg
if (!filePic.exists()) {
filePic.getParentFile().mkdirs();
filePic.createNewFile();
}
FileOutputStream fos = new FileOutputStream(filePic);
mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
//插入系统相册
MediaStore.Images.Media.insertImage(context.getContentResolver(), filePic.getAbsolutePath(), savePath, "视频监控图片集");
Uri uri = Uri.fromFile(new File(DIR_IMAGE));
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(uri);
context.sendBroadcast(intent);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
return filePic.getAbsolutePath();
}
/**
* 随机生产文件名
*
* @return
*/
private static String generateFileName() {
return UUID.randomUUID().toString();
}
}