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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Patriot_123
1 / 1 / 0
Регистрация: 12.02.2010
Сообщений: 29
#1

Диалог выбора файла - Программирование Android

23.09.2014, 12:06. Просмотров 1661. Ответов 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):

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

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

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

Не работает обработчик выбора файла - Программирование Android
Снова пытаюсь разобраться с AIDE на мобиле. Проблема в том, что не отрабатывает метод onItemSelected. Там хочу прочитать файл, путь к нему...

Как открыть окно выбора файла - Программирование Android
Добрый вечер, ув. форумчане. Подскажите, как открыть окно выбора файла (чтобы пользователь выбрал путь к файлу) и считать его? Знаю что...

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

4
dubok79
323 / 121 / 11
Регистрация: 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
2 / 2 / 3
Регистрация: 24.01.2016
Сообщений: 59
28.12.2016, 12:11 #4
Два года прошло, никто не узнал ответа почему при intent.setType("files/*"); все файлы серые и не активные для выбора?
0
Alex_Fedor
31 / 31 / 5
Регистрация: 20.01.2015
Сообщений: 229
29.12.2016, 19:46 #5
Вот недоделанный проект File Explorer. Основное делает файловую структуру с путями показывает, если надо допилите.
0
Вложения
Тип файла: zip MyFileExplorer.zip (1.33 Мб, 14 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2016, 19:46
Привет! Вот еще темы с ответами:

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

R-независимый диалог - Программирование Android
После Делфи привык делать "идеально отлаженые компоненты" и ими пользоваться во всех своих проектах. Написал свой диалог Yes-No для...

ListView и Диалог - Программирование Android
Привет. Редактирование TextView при помощи диалога. public class MainActivity extends Activity { final String LOG = "myLogs"; ...

Как обработать диалог? - Программирование Android
как сделать так чтобы после открытия диалога он не пропадал по нажатию пальцем в зоне активити которое находится в состоянии onPause после...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
29.12.2016, 19:46
Ответ Создать тему
Опции темы

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