Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Patriot_123
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
1

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

23.09.2014, 12:06. Просмотров 2143. Ответов 4
Метки нет (Все метки)

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

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

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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 12:06
Ответы с готовыми решениями:

Диалог выбора файла
обнаружил, что стандартного диалога не существует нашел такую реализацию...

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

Получить имя файла из диалога выбора файла
Нашел класс диалога выбора файла: package com.stetsenko.openfiledialog; ...

Не работает обработчик выбора файла
Снова пытаюсь разобраться с AIDE на мобиле. Проблема в том, что не отрабатывает...

Как открыть окно выбора файла
Добрый вечер, ув. форумчане. Подскажите, как открыть окно выбора файла (чтобы...

4
dubok79
324 / 122 / 10
Регистрация: 01.11.2012
Сообщений: 586
23.09.2014, 13:58 2
Видимо у вас тут была ошибка.
Ваше
intent.setType("file/*");
Надо
intent.setType("files/*");
0
Patriot_123
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
24.09.2014, 14:22  [ТС] 3
Тоже самое: файлы неактивны для выбора. */* работает как надо, но не уверен что это правильно.
0
LetoLetoD
5 / 5 / 6
Регистрация: 24.01.2016
Сообщений: 65
28.12.2016, 12:11 4
Два года прошло, никто не узнал ответа почему при intent.setType("files/*"); все файлы серые и не активные для выбора?
0
Alex_Fedor
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
29.12.2016, 19:46 5
Вот недоделанный проект File Explorer. Основное делает файловую структуру с путями показывает, если надо допилите.
0
Вложения
Тип файла: zip MyFileExplorer.zip (1.33 Мб, 27 просмотров)
29.12.2016, 19:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2016, 19:46

ListView и Диалог
Привет. Редактирование TextView при помощи диалога. public class...

Не работает диалог
Добрый день! Подскажите как быть. Имеется код создания диалогового окна...

Диалог с флажками
У меня диалог с флажками, первый элемент диалога это ВЫДЕЛИТЬ ВСЕ, при его...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru