Проблемы с настройкой ПК с Android 2.1 для мобильных устройств на примере чата Bluetooth - PullRequest
1 голос
/ 11 апреля 2011

Я новичок в программировании устройств Android. Я делаю школьный проект, который включает в себя Android (Mini-Xperia pro с Android 2.1) и связь Bluetooth с устройством. Я пытаюсь шаг за шагом понять все, что связано с программированием, и выучить все, что я могу.

У меня есть адаптер Bluetooth для ПК, я работаю с Windows XP, поэтому я только подключаю его, и он уже установлен.

Хорошо, я работаю над примером чата Bluetooth, который поставляется с SDK, и я уже изменил UUID на:

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");

С моим мобильным телефоном я вошел в настройки и сделал свое устройство связанным с моим ПК (оно говорит, что сопряжено, но без соединения).

Но я не знаю, что я делаю неправильно, потому что я открываю приложение чата Bluetooth на своем мобильном телефоне, пытаюсь подключиться к своему компьютеру, и появляется сообщение «невозможно подключить устройство».

После множества попыток он подключается для передачи с компьютера на телефон:
A

AT

И соединение потеряно (это занимает менее 2 секунд !!)

Может кто-нибудь помочь мне, пожалуйста, скажите мне, что я делаю неправильно или в чем проблема ??

Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Вам необходимо изменить код ConnectThread на следующее: Запишите код изменения, который создает сокет.

private class ConnectThread extends Thread {
    private final BluetoothSocket mmSocket;
    private final BluetoothDevice mmDevice;

    public ConnectThread(BluetoothDevice device) {
        mmDevice = device;
        BluetoothSocket tmp = null;

        Method m = null;
        try {
            m = device.getClass().getMethod("createRfcommSocket", 
                                                    new Class[] {int.class});
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        try {
            tmp = (BluetoothSocket) m.invoke(device, 1);
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mmSocket = tmp;
    }
0 голосов
/ 11 апреля 2011

вам нужно запустить какое-то приложение, например, гипертерминал на стороне ПК, через последовательный COM-порт Bluetooth, к которому подключается приложение для Android.

...