Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.72
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
#1

Передача файлов через BlueTooth OPP / ContentResolver - Программирование Android

16.02.2013, 00:28. Просмотров 3938. Ответов 31
Метки нет (Все метки)

Друзья, помогите пожалуйста!!! Уже второй день пляшу с бубном.

Передаю файл через BT OPP примерно так:
Java
1
2
3
4
5
6
7
8
9
10
11
        ContentValues values = new ContentValues();
 
        values.put("uri", "file://"+file);
        values.put("destination", mac);
        values.put("confirm", 2);   //USER_CONFIRMATION_AUTO_CONFIRMED
        values.put("visibility", 1);    //VISIBILITY_HIDDEN
        values.put("direction", 0); //DIRECTION_OUTBOUND
        values.put("timestamp", System.currentTimeMillis());
        
        ContentResolver cr = c.getContentResolver();
        Uri u = cr.insert(Uri.parse("content://com.android.bluetooth.opp/btopp"), values);
Всё замечательно работает, всё передается, НО - как мне получить результат передачи??????????
Передает в скрытом режиме, но потом выскакивает тост мсг типа (файл передан или нет) - как мне перехватить его, чтобы потом отобразить свой результат передачи???
Пытаюсь ловить android.btopp.intent.action.TRANSFER_COMPLETE - не клюет такое.

http://www.cyberforum.ru/android-dev/thread816416.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2013, 00:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача файлов через BlueTooth OPP / ContentResolver (Программирование Android):

Считать все файлы *.mp3 с определенного каталога через ContentResolver
Подскажите, возможно ли так сделать? Или надо рекурсивно обходить каталог и...

Передача файлов через NFC
У меня нет познаний в Java и тем более в программировании под Android, но так...

Передача данных по Bluetooth
Добрый день! Нужна помощь. Я относительно недавно начал изучать...

Передача данных по Bluetooth
Проблема в следующем, после определенного количества переданных байт(зависит от...

ContentResolver
Для чего применяется класс ContentResolver?? И какие элементы относятся именно...

31
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
16.02.2013, 22:49  [ТС] #21
у меня компактное приложение
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.02.2013, 22:56 #22
не понял
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
16.02.2013, 23:03  [ТС] #23
ну зачем мне лишние классы подключать, с кучей не нужных методов
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.02.2013, 23:11 #24
чтобы слушать изменения а нее самому перепроверять, это считается в сто раз правильнее...
плюс вы поток тормозите, нужен вывод в отдельный поток вашего кода.

Добавлено через 49 секунд
и там только 1 класс с 1 методом...

Добавлено через 1 минуту
если ваш код запустить в UI потоке, то велика вероятность что пользователь увидит сообщение "программа не отвечает. закрыть?"

Добавлено через 3 минуты
обычно создаются множество дополнительных классов аля Handler, Listener, Callback, это нормальная практика.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
16.02.2013, 23:40  [ТС] #25
да не, этот код будет в сервисе.
как раз в потоке и нужно ждать завершения передачи.
+своеобразный таймаут на 5 минут
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.02.2013, 23:41 #26
в моем случае не нужно сервисов и потоков.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
17.02.2013, 01:52  [ТС] #27
верно, но у меня другие задачи. я не выделяю сервис для передачи файла, сервис занимается другим делом, но когда постает задача отправить файл - он это должен сделать и дождатся результата, а потом уже на основании его решить что делать дальше.
Спасибо за помощь.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.02.2013, 02:29 #28
а не будет ли такая реализация тормозить остальные задачи сервиса?

Добавлено через 2 минуты
если дополнительный поток не выделите, то до 300 секунд зависнет все на этом коде.

Добавлено через 1 минуту
да лишние запросы к БД нужно избегать при возможности.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
17.02.2013, 02:54  [ТС] #29
Всё верно. зависнет пока не получит результат, так мне и надо ибо ничего более в сервисе не может работать пока не будет известен результат отправки.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.02.2013, 02:56 #30
странный сервис какой-то)
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
09.03.2013, 14:48  [ТС] #31
Снова вернулся к данному вопросу.. А как передать файл используя API?
Я так понимаю, для передачи нужно использовать UUID OPP 00001105-0000-1000-8000-00805F9B34FB

Я вот создаю BluetoothSocket (createRfcommSocketToServiceRecord) вызываю connect, получаю Input/Output Stream, а дальше что? как передать файл? - просто записать содержимое файла в потом думае не прокатит, как минимум нужно ещё передать информацию о файле.
К тому же, напрмер при коннекте на андроиде 2.2, выдает ошибку (точно не помню какую), что-то связано с каналом. Видимо какой-то другой подход нужно использовать?
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
20.03.2013, 14:04  [ТС] #32
актуально
0
20.03.2013, 14:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 14:04
Привет! Вот еще темы с решениями:

Передача данных Android устр. - stm по bluetooth
Здравствуйте, есть задача передавать данные с android планшета на на плату с...

Просмотр файлов другого устройства по Bluetooth
Здраствуйте, мне нужна помощь (я начинаю только программировать на андроид)....

Работа с устройством через bluetooth
Требуется сделать приложение на андройд чтобы оно соединялось с блютуз...

Вывод данных полученных через Bluetooth на экран
Есть датчик dht22 с него приходят 2 показателя: Температура и...


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

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

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