Я пытаюсь загрузить изображение на один из серверов, но на стороне сервера есть определенные ограничения по разрешению. Но перед загрузкой мы сжимаем файл изображения с помощью растрового изображения.
Ниже приведен код для сжатия растрового изображения и вставка изображения в android q framework.
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, filename);
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.Images.Media.DATE_ADDED, System.currentTimeMillis());
values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
uri =getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);
stream=getContentResolver().openOutputStream(uri);
inImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
мы можем получить URI из приведенного выше кода.
public String getRealPathFromURI(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
Log.d(TAG, "getRealPathFromURI: idx "+idx+" cursor.getString(idx)"+cursor.getString(idx));
return cursor.getString(idx);
}
Но так как вышеуказанный метод устарел, я не могу получить реальный путь УРИ для android В. Может ли кто-нибудь помочь мне с тем же. я уже ссылался на дескриптор файла, но ничего не понял. Если возможно, любой пример того же с вышеупомянутым сценарием в уме, будет делать. или, если есть другое решение, предложите то же самое. Если вы заявляете решение, укажите его только для android Q.
Спасибо.