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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Patriot_123
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
23.09.2014, 12:06     Диалог выбора файла #1
Темы на форуме по данному вопросу видел, но не решают проблему
Что требуется:
По кнопке выбрать любой файл и отправить на веб-сервер.

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

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("*/*");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 12:06     Диалог выбора файла
Посмотрите здесь:

Android Диалог выбора файла
R-независимый диалог Android
Android ListView и Диалог
Как открыть окно выбора файла Android
Как обработать диалог? Android
Прозрачный диалог ожидания Android
Android Диалог с флажками
Android Получить имя файла из диалога выбора файла
Android Диалог выбора файла в Android
Диалог с вводом текста Android
Android Не работает обработчик выбора файла
Android Не работает диалог

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
23.09.2014, 13:58     Диалог выбора файла #2
Видимо у вас тут была ошибка.
Ваше
intent.setType("file/*");
Надо
intent.setType("files/*");
Patriot_123
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
24.09.2014, 14:22  [ТС]     Диалог выбора файла #3
Тоже самое: файлы неактивны для выбора. */* работает как надо, но не уверен что это правильно.
LetoLetoD
2 / 2 / 3
Регистрация: 24.01.2016
Сообщений: 56
28.12.2016, 12:11     Диалог выбора файла #4
Два года прошло, никто не узнал ответа почему при intent.setType("files/*"); все файлы серые и не активные для выбора?
Alex_Fedor
20 / 20 / 3
Регистрация: 20.01.2015
Сообщений: 179
29.12.2016, 19:46     Диалог выбора файла #5
Вот недоделанный проект File Explorer. Основное делает файловую структуру с путями показывает, если надо допилите.
Вложения
Тип файла: zip MyFileExplorer.zip (1.33 Мб, 1 просмотров)
Yandex
Объявления
29.12.2016, 19:46     Диалог выбора файла
Ответ Создать тему
Опции темы

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