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

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

Войти
Регистрация
Восстановить пароль
 
byulent
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 16
#1

Обработка включения Bluetooth - Программирование Android

08.07.2015, 22:17. Просмотров 562. Ответов 4
Метки нет (Все метки)

Есть код:
Java
1
2
3
4
5
6
7
8
9
       OnClickListener oclCheckBt = new OnClickListener() {
            public void onClick(View v){
                Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
                if(BluetoothAdapter.getDefaultAdapter().isEnabled()){
                    ((CheckedTextView) v).setChecked(true);
                }
            }
        };
Он должен включать синезуб, если тот не включен, и отмечать это в чекбоксе, а точнее, в CheckedTextView.
Но отмеченным чекбокс становится лишь после второго нажатия на элемент, когда уже всё включено.
Как сделать так, чтобы галочка ставилась сразу?
Думаю, что надо сделать что-то с интентами, но вот что - ума не приложу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2015, 22:17     Обработка включения Bluetooth
Посмотрите здесь:

Обработка ошибки подключения по Bluetooth - Basic4Android
Добрый день! У меня в программе, написанной на Basic4Android реализована связь телефона с контроллером по Bluetooth. При запуске...

Bluetooth- приложение - Программирование Android
Приложение устанавливается на телефон, при запуске вылетает с надписью: "В приложение произошла ошибка" в чем может быть проблема. Версия...

Bluetooth Broadastreceiver - Программирование Android
Привет всем. У меня возникла одна проблема. Я программирую Bluetooth приложения и я завис на Broadcastreceiver. Проблема в том...

Снова Bluetooth - Программирование Android
Здравствуйте. Подскажите пожалуйста почему к простой нокии х2 например подключаюсь запросто, а к Android`у или к ПК не могу ошибка...

Bluetooth кнопка - Программирование Android
Здравствуйте , необходимо реализовать Bluetooth кнопку Arduino ---> Android . Т.е. жмем кнопку на МК --> МК формирует данные и отсылает по...

Bluetooth + Android - Программирование Android
Здравствуйте! Начал я относительно недавно изучать Eclipse. Мне необходимо принять сообщение, передаваемое с блютуз модуля, на...

Приём данных по Bluetooth - Программирование Android
Из Arduino посылается строка xx|xx|xx|xx|xx,xxxx|\n, где х-любое число. На андроиде получаю: х| x| x| x| итд. Подскажи как...

Bluetooth и два активити - Программирование Android
Разрабатываю приложение для связи смартфона по блютус с метеостанцией. По запросу смартфона метеостанция отсылает данные на смартфон. За...

Проверка подключения по bluetooth - Программирование Android
Не подскажите, как можно проверять активно ли подключение по bluetooth? У меня есть два устройства, связь между ними устанавливается без...

Не ищет устройства (Bluetooth) - Программирование Android
Взял пример с сайта. Запускаю в режиме отладки (android studio). Ничего не находит. В чём проблема? Ошибки в коде? Или же поиск устройств...

Bluetooth. Поиск устройств - Программирование Android
Всем привет. Подскажите пожалуйста как правильно написать поиск устройств. Читал несколько статей и никак не могу понять как написать код,...

UUID. Bluetooth connect - Программирование Android
Вопрос достаточно банальный. Какое UUID мне нужно установить при подключении к серверу через Bluetooth? Для начала объясните плиз, для чего...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
09.07.2015, 11:55     Обработка включения Bluetooth #2
byulent, вероятно условие
Java
1
if(BluetoothAdapter.getDefaultAdapter().isEnabled())
не выполняется т.к. на включение нужно какое-то время, а вы сразу проверяете, пока БТ еще не включен. Скорее всего его включение можно отловить в onActivityResult().
byulent
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 16
09.07.2015, 16:44  [ТС]     Обработка включения Bluetooth #3
Цитата Сообщение от Spelcrawler Посмотреть сообщение
byulent, вероятно условие
Код Java(TM) 2 Platform Standard Edition 5.0Выделить код
1
if(BluetoothAdapter.getDefaultAdapter().isEnabled())
не выполняется т.к. на включение нужно какое-то время, а вы сразу проверяете, пока БТ еще не включен. Скорее всего его включение можно отловить в onActivityResult().
Спасибо, я уже догадался, как это сделать.
Теперь такой вопрос: как сделать так, чтобы этот же чекбокс отмечался при включении блютуза из шторки? Тут уж я совсем не догадываюсь, что надо сделать.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
09.07.2015, 16:56     Обработка включения Bluetooth #4
byulent,

Optionally, your application can also listen for the ACTION_STATE_CHANGED broadcast Intent, which the system will broadcast whenever the Bluetooth state has changed. This broadcast contains the extra fields EXTRA_STATE and EXTRA_PREVIOUS_STATE, containing the new and old Bluetooth states, respectively. Possible values for these extra fields are STATE_TURNING_ON, STATE_ON, STATE_TURNING_OFF, and STATE_OFF. Listening for this broadcast can be useful to detect changes made to the Bluetooth state while your app is running.
http://developer.android.com/guide/t...bluetooth.html
byulent
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 16
11.07.2015, 22:47  [ТС]     Обработка включения Bluetooth #5
Цитата Сообщение от Armagedo Посмотреть сообщение
http://developer.android.com/guide/t...bluetooth.html
К сожалению, не работает...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            brEnableBt = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                int scanStatus = intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE, 0);
                Log.d("Log", String.valueOf(scanStatus));
                if (scanStatus == BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE){
                    checkBluetooth.setChecked(true);
                    checkBluetooth.setClickable(false);
                } else {
                    checkBluetooth.setChecked(false);
                    checkBluetooth.setClickable(true);
                }
            }
        };
 
        IntentFilter edBtBrIntent = new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
        registerReceiver(brEnableBt, edBtBrIntent);
(Мне нужно также, чтобы устройство было видимым)
Так вот, если я включаю блютуз в шторке - не происходит ничего. При выключении в логи спокойно кидается двадцатка. И если только зайти в настройки, выключить и включить видимость - увидим 21 и 23.
Yandex
Объявления
11.07.2015, 22:47     Обработка включения Bluetooth
Ответ Создать тему
Опции темы

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