如何在应用程序中使用蓝牙GPS模块?

wes*_*t44 4 gps android bluetooth external

我正在开发使用GPS数据的app.我有一个外置蓝牙GPS设备,但我找不到如何使用外置GPS蓝牙模块.我在我的AndroidManifest文件中添加了蓝牙权限,但我不知道如何继续...

请帮忙.

Vic*_*tor 7

您应该按照教程Peter 指出的那样创建与设备的连接.

  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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检索信息.您现在可以打开一个InputStreamNMEA消息以纯文本形式出现.因此,您可以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!!!
    
    Run Code Online (Sandbox Code Playgroud)

记住:这段代码非常简单.在实际应用中,应该在不需要时关闭与网络,设备或文件系统资源的每个连接,正确处理错误(异常)并以可读和可理解的格式向用户显示.