Android12两个适配性问题

261 阅读1分钟

1.安装适配

如果你是安卓12手机并且targetSdkVersion是31,当你在AS中安装调试的时候,会出现安装不成功的提示,如下: image.png 解决方案:请确保你的Activity加入

image.png

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) {

    }
}