Как использовать Bluetooth GPS модуль в приложении? - PullRequest
4 голосов
/ 02 августа 2011

Я работаю над приложением, которое использует данные GPS. У меня есть внешнее устройство Bluetooth Bluetooth, но я не могу найти, как использовать внешний модуль Bluetooth Bluetooth. Я добавил разрешение Bluetooth в свой файл AndroidManifest, но не знаю, как продолжить ...

Пожалуйста, помогите.

Ответы [ 2 ]

7 голосов
/ 19 августа 2011

Вы должны создать подключение к устройству, как описано в учебнике Питер указал .

  1. Обнаружить устройства и предоставить пользователю список для выбора.Я предполагаю, что вы сделали это, и теперь у вас есть переменная BluetoothDevice device, установленная для вашего устройства.
  2. Подключение в качестве клиента:

    // This is the default UUID you set for connection - it should work
    private static final UUID DEFAULT_SPP_UUID = UUID
            .fromString("00001101-0000-1000-8000-00805F9B34FB"); 
    
    // ....
    
    BluetoothSocket bluetoothSocket = device
             .createRfcommSocketToServiceRecord(DEFAULT_SPP_UUID);
    
    // ....
    
    bluetoothSocket.connect(); // Do this when you want to start data retrieval
    
  3. Получение информации,Теперь вы можете открыть InputStream, из которого сообщения NMEA приходят в виде простого текста.Таким образом, вы можете использовать BufferedReader для удобства и читать сообщения построчно.Примерно так:

    // After successful connect you can open InputStream
    InputStream in = bluetoothSocket.getInputStream();
    InputStreamReader isr = new InputStreamReader(in);
    BufferedReader br = new BufferedReader(isr);
    
    while (true) {
        String nmeaMessage = br.readLine();
        Log.d("NMEA", nmeaMessage);
        // parse NMEA messages
    }
    
    // !!!CLOSE Streams!!!
    

ПОМНИТЕ: этот код очень упрощен.В реальном приложении каждое соединение с сетью, устройством или ресурсом файловой системы должно быть закрыто, когда это не нужно, ошибки (исключения) должным образом обрабатываются и отображаются пользователю в читаемом и понятном формате.

1 голос
/ 02 августа 2011

Android поддерживает только протокол Bluetooth RFCOMM (последовательная эмуляция).Убедитесь, что ваш GPS поддерживает этот протокол.

Затем начните с учебного пособия по Bluetooth .

...