Невозможно выбрать изображение из галереи в Android 13, работает в более ранних версиях Android. Я проверил на Android 9Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно выбрать изображение из галереи в Android 13, работает в более ранних версиях Android. Я проверил на Android 9

Сообщение Anonymous »


вот мое разрешение на файл манифеста. уже добавил необходимый код разрешения для Android 13, но не работает

мой Java-файл. Я уже добавил необходимый код для выбора изображения с телефона, но, к сожалению, не работает в Android 13........................ .................................................. .................................................. ....................................
пакет com.virlabs.filmytube.ui.activities; импортировать java.io.File; публичный класс EditActivity расширяет AppCompatActivity реализует ProgressRequestBody.UploadCallbacks{ частный PrefManager прф; частный CircleImageView image_view_edit_activity_user_profile; частный TextView text_view_edit_activity_name_user; частный ImageView image_view_edit_activity_name_edit_photo; частный RelativeLayout относительный_layout_edit_activity_save; частный TextInputLayout text_input_layout_activity_edit_name; частный TextInputEditText text_input_editor_text_activity_edit_name; частный внутренний идентификатор; частное имя строки; личное изображение строки; частный интервал PICK_IMAGE = 1557; частная строка imageUrl; частный ProgressDialog pd; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_edit); Пакет Bundle = getIntent().getExtras() ; this.id = Bundle.getInt("id"); this.name = Bundle.getString("имя"); this.image = Bundle.getString("изображение"); this.prf = новый PrefManager(getApplicationContext()); инициализация(); инициализация(); УстановитьПользователь(); } частное логическое значение validatName() { if (text_input_editor_text_activity_edit_name.getText().toString().trim().isEmpty() || text_input_editor_text_activity_edit_name.getText().length() < 3 ) { text_input_layout_activity_edit_name.setError(getString(R.string.error_short_value)); requestFocus (text_input_editor_text_activity_edit_name); вернуть ложь; } еще { text_input_layout_activity_edit_name.setErrorEnabled(false); } вернуть истину; } частный недействительный requestFocus (Просмотр) { если (view.requestFocus()) { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } } частный недействительный initView() { this.image_view_edit_activity_user_profile = (CircleImageView) findViewById(R.id.image_view_edit_activity_user_profile); this.image_view_edit_activity_name_edit_photo = (ImageView) findViewById(R.id.image_view_edit_activity_name_edit_photo); this.text_view_edit_activity_name_user = (TextView) findViewById(R.id.text_view_edit_activity_name_user); this.relative_layout_edit_activity_save= (RelativeLayout) findViewById(R.id.relative_layout_edit_activity_save); this.text_input_editor_text_activity_edit_name= (TextInputEditText) findViewById(R.id.text_input_editor_text_activity_edit_name); this.text_input_layout_activity_edit_name= (TextInputLayout) findViewById(R.id.text_input_layout_activity_edit_name); pd = новый ProgressDialog(EditActivity.this); pd.setMessage("Обновление информации о моем пользователе"); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setCancelable(ложь); } частная пустота initAction() { this.relative_layout_edit_activity_save.setOnClickListener( v -> { представлять на рассмотрение(); }); this.image_view_edit_activity_name_edit_photo.setOnClickListener(v->{ Выбрать изображение(); }); } частная пустота submit() { если (!validatName()) возвращаться; редактировать(); } частный недействительный setUser() { this.text_input_editor_text_activity_edit_name.setText(имя); this.text_view_edit_activity_name_user.setText(имя); Пикассо.get() .load(изображение) .error(R.drawable.placeholder_profile) .placeholder(R.drawable.placeholder_profile) .into(image_view_edit_activity_user_profile); } частная пустота SelectImage() { if (ContextCompat.checkSelfPermission(EditActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(EditActivity.this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE }, 0); }еще{ Намерение i = новое намерение (Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI); i.setType("изображение/*"); startActivityForResult (я, PICK_IMAGE); } } @Override public void onRequestPermissionsResult(int requestCode, Разрешения String[], int[]grantResults) { super.onRequestPermissionsResult(requestCode, разрешения, GrantResults); переключатель (код запроса) { случай 0: { if (grantResults.length > 0 && GrantResults[0] == PackageManager.PERMISSION_GRANTED) { Выбрать изображение(); } возвращаться; } } } protected void onActivityResult (int requestCode, int resultCode, данные намерения) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PICK_IMAGE && resultCode == RESULT_OK && ноль != данные) { Uri selectedImage = data.getData(); String[] filePathColumn = {MediaStore.Video.Media.DATA}; Курсор курсора = getContentResolver().query(selectedImage, filePathColumn, ноль, ноль, ноль); курсор.moveToFirst(); int columnsIndex = курсор.getColumnIndex(filePathColumn[0]); String imagePath = курсор.getString(columnIndex); курсор.закрыть(); imageUrl = путь к картинке; Файл файл = новый файл (imageUrl); Пикассо.get() .load(файл) .error(R.drawable.placeholder_profile) .placeholder(R.drawable.placeholder_profile) .into(image_view_edit_activity_user_profile); } еще { Log.i("SonaSys", "resultCode: " + resultCode); переключатель (код результата) { случай 0: Log.i("SonaSys", "Пользователь отменен"); перерыв; Дело 1: перерыв; } } } общественное недействительное редактирование () { пд.шоу(); PrefManager prf = новый PrefManager(getApplicationContext()); Модернизация модификация = apiClient.getClient(); служба apiRest = Retrofit.create(apiRest.class); MultipartBody.Part body = null; если (imageUrl!= ноль){ Файл file1 = новый файл (imageUrl); int file_size = Integer.parseInt(String.valueOf(file1.length()/1024/1024)); если (размер_файла > 20) { Toasty.error(getApplicationContext(), «Максимально допустимый размер файла 20 МБ», Toast.LENGTH_LONG).show(); } Log.v("РАЗМЕР", file1.getName() + ""); окончательный файл файла = новый файл (imageUrl); ProgressRequestBody requestFile = новый ProgressRequestBody (файл, EditActivity.this); body = MultipartBody.Part.createFormData("uploaded_file", file.getName(), requestFile); } String id_ser= prf.getString("ID_USER"); String key_ser = prf.getString("TOKEN_USER"); Call request = service.editProfile(body, Integer.parseInt(id_ser), key_ser, text_input_editor_text_activity_edit_name.getText().toString().trim()); request.enqueue(new Callback() { @Override public void onResponse (вызов Call, Response ответ) { если (response.isSuccessful()){ Toasty.success(getApplication(),getResources().getString(R.string.infos_updated_successful),Toast.LENGTH_LONG).show(); for (int i=0;i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»