private File tempFile;
private String mFilePath;
//获取系统版本
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
// 激活相机
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 判断存储卡是否可以用,可用进行存储
if (hasSdcards()) {
SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
String filename = timeStampFormat.format(new Date());
tempFile = new File(Environment.getExternalStorageDirectory(),filename + ".jpg");
mFilePath = tempFile.getAbsolutePath();
SharedPreferencesUtil.setParam(mContext,"imagePath",mFilePath);
if (currentapiVersion < 24) {
// 从文件中创建uri
Uri uri = Uri.fromFile(tempFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
} else {
//兼容android7.0 使用共享文件的形式
ContentValues contentValues = new ContentValues(1);
contentValues.put(MediaStore.Images.Media.DATA, mFilePath);
Uri uri = mContext.getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
}
}
((Activity) mContext).startActivityForResult(intent, 1);
public static boolean hasSdcards() {
return Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);
}