1.安装适配
如果你是安卓12手机并且targetSdkVersion是31,当你在AS中安装调试的时候,会出现安装不成功的提示,如下:
解决方案:请确保你的Activity加入
2.图片保存适配
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.Images.ImageColumns.DISPLAY_NAME, System.currentTimeMillis() + "_qr" + ".jpg");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "appointment_qr_code.jpeg");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");
contentValues.put(MediaStore.MediaColumns.DATE_ADDED, System.currentTimeMillis() / 1000);
contentValues.put(MediaStore.MediaColumns.DATE_MODIFIED, System.currentTimeMillis() / 1000);
}else {
String dstPath = Environment.getExternalStorageDirectory() + File.separator + Environment.DIRECTORY_PICTURES
+ File.separator + System.currentTimeMillis() + "_qr" + ".jpg";
contentValues.put(MediaStore.Images.ImageColumns.DATA, dstPath);
}
ContentResolver contentResolver = getContentResolver();
Uri uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
if (uri != null) {
FileOutputStream fos = null;
try {
fos = (FileOutputStream) contentResolver.openOutputStream(uri);
finalMap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (IOException exception) {
}
}