Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
57 / 69 / 7
Регистрация: 08.08.2013
Сообщений: 560
#1

Как получить абсолютный путь к выбранной картинке? - Android

14.01.2016, 21:02. Просмотров 415. Ответов 0
Метки нет (Все метки)

Добрый день.

Через такой intent получаю изображение (нашел на stackoverflow)

Java
1
2
3
4
5
6
7
8
9
10
 Intent getIntent = new Intent(Intent.ACTION_GET_CONTENT);
        getIntent.setType("image/*");
 
        Intent pickIntent = new Intent(Intent.ACTION_PICK,   android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        pickIntent.setType("image/*");
 
        Intent chooserIntent = Intent.createChooser(getIntent, "Выберите фон");
        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{pickIntent});
 
        startActivityForResult(chooserIntent, SELECT_BACKGROUND_SCREEN);
Появляется выбор приложения через которое будем выбирать картинку

Если выбрать галерею, то uri возвращается такой

Java
1
Intent { dat=content://media/external/images/media/139 }
Если выбрать от гугл фото, то такой

Java
1
Intent { dat=content://media/external/images/media/139 flg=0x1 }
А вот если выбрать файловый менеджер (родной), то uri будет таким

Java
1
Intent { dat=file:///storage/emulated/0/DCIM/Camera/IMG_20160113_202414.jpg }
Мне нужен путь как с вариантом файлового менеджера, абсолютный, чтобы потом эту картинку сохранить в другой папке, но пользователь может выбрать что угодно для выбора приложения.

Как достать этот путь наверняка?

если кто объяснит зачем такой сложный интент, тому тоже +

Добавлено через 14 часов 47 минут
-я думаю вам поможет этот код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public String getRealPathFromURI(Context context, Uri contentUri) {
        Cursor cursor = null;
        try {
            String[] proj = {MediaStore.Images.Media.DATA};
            cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
-о, спасибо большое


Появилась новая проблема.
Как определить какую программу выбрал пользователь или определить что вернулось путь или uri

Добавлено через 10 часов 43 минуты
ну хоть какие нибудь идеи, программеры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 21:02     Как получить абсолютный путь к выбранной картинке?
Посмотрите здесь:

Android Как получить путь к SD карте на ЛЮБОМ устройстве?
Android Получить путь к карте памяти (SD card)
Android Как в eclipse прописать путь к SDK
Android Не получается получить путь к карте памяти
Получить абсолютный путь к Assets файлам Android
Android Как перезаписать,создать путь к папке с кешом
Как получить путь к папке, в которой находится приложение? Android
Получить доступ к картинке, при помощи переменной с именем файла Android
Android Узнать абсолютный путь к файлу
Как в jsoup получить абсолютный URL? Android
Android Получить список файлов сервера указав путь
Android Как из data.getData() получить путь к файлу?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru