Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29

Диалог выбора файла

23.09.2014, 12:06. Показов 5400. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Темы на форуме по данному вопросу видел, но не решают проблему
Что требуется:
По кнопке выбрать любой файл и отправить на веб-сервер.

Итак, что бы открыть диалог выбора файла, делаю так:

Java
1
2
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
Диалог открывается, но невозможно выбрать какой-либо файл. Все подсвечены серым цветом, при нажатии ничего не происходит. Что делаю не так?

Пробую на примерах из инета сделать выбор только картинки, хотя требуется выбрать любой файл!

Java
1
2
3
4
5
6
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.putExtra("return-data", true);
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,
                "Select Picture"), 1);
Диалог открывается, могу выбрать картинку. Отлично.

Получаю результат так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1 && resultCode == RESULT_OK) {
            Uri uri = data.getData();
            String path = uri.getPath();
            String fileSrc="";
            try{
                Cursor cursor = getContentResolver().query(data.getData(), null, null, null, null);
                cursor.moveToFirst();
                int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
                fileSrc = cursor.getString(2);
                Log.d("menuloadfile", "File0: " + cursor.getString(0));
                Log.d("menuloadfile", "File1: " + cursor.getString(1));
                Log.d("menuloadfile", "File2: " + cursor.getString(2));
                Log.d("menuloadfile", "File3: " + cursor.getString(3));
                Log.d("menuloadfile", "File4: " + cursor.getString(4));
                Log.d("menuloadfile", "File5: " + cursor.getString(5));
            } catch(Exception ex){
 
            }
            Log.d("menuloadfile", "File:" + path + fileSrc);
            uploadFiles(path + fileSrc);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
Тут:
1) idx - принимает значение -1, пример брал из инета. Но такой колонки в записи нет. По этому вручную ищу что в колонках находится. Нашел имя файла.
2) Как получить путь к файлу? Получаю вида "content://com.android.providers.media.documents/document/image:"
3) До отправки дело еще не дошло, но вроде там пока вопросов нет, нашел много примеров на базе MultipartEntityBuilder

Помогите научится выбирать любой файл и получать его полный путь и имя для отправки Вторые сутки гуглю - не могу найти мой вариант решения.

Добавлено через 18 минут
Прошу прощения, диалог выбора любого файла пытаюсь получить так:

Java
1
2
3
4
        Intent intent = new Intent();
        intent.setType("file/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(intent, 1);
Добавлено через 4 минуты
Выбор любого файла получилось сделать так:
Java
1
intent.setType("*/*");
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2014, 12:06
Ответы с готовыми решениями:

Диалог выбора файла
обнаружил, что стандартного диалога не существует нашел такую реализацию https://github.com/Kaloer/Android-File-Picker-Activity 06-15...

Диалог выбора файла в Android
Здравствуйте! Мне понадобилось реализовать диалог выбора файла для последующей загрузки в videoview. Нашел пример в инете, который...

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

5
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
23.09.2014, 13:58
Видимо у вас тут была ошибка.
Ваше
intent.setType("file/*");
Надо
intent.setType("files/*");
0
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
24.09.2014, 14:22  [ТС]
Тоже самое: файлы неактивны для выбора. */* работает как надо, но не уверен что это правильно.
0
5 / 5 / 6
Регистрация: 24.01.2016
Сообщений: 67
28.12.2016, 12:11
Два года прошло, никто не узнал ответа почему при intent.setType("files/*"); все файлы серые и не активные для выбора?
0
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
29.12.2016, 19:46
Вот недоделанный проект File Explorer. Основное делает файловую структуру с путями показывает, если надо допилите.
Вложения
Тип файла: zip MyFileExplorer.zip (1.33 Мб, 52 просмотров)
0
0 / 0 / 0
Регистрация: 25.07.2021
Сообщений: 1
14.10.2021, 16:15
Большое тебе спасибо за проект скорее всего возьму может да пилю потом скину
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2021, 16:15
Помогаю со студенческими работами здесь

Как создать диалог выбора файла для чтения и сохранения файла?
Добрый день! Написал простейший текстовый редактор для Windows. Все работает, текст читает из файла и сохраняет. Но я...

Диалог выбора файла
Добрый вечер/ночи! Подскажите, плиз, с помощью какой команды можно открыть диалоговое окно для выбора файла? Спасибо!

Диалог выбора файла
Всем привет! Вот в нете надыбал такую функцию Declare Function NEMGetFile Lib "nnotesws" (_ wUnk As Integer, ByVal FileName As...

Диалог выбора файла
Доброго времени суток. Возможно, вопрос глупый. Можно ли на PascalABC.NET сварганить диалог выбора файла? Или только WinForms (кои в...

Диалог выбора файла
Приветствую всех. Попытался в C++Builder Tokyo использовать SelectDirectory и получил ошибку сборщика. Код взял отсюда: #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru