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

时间:2011-08-02 10:45:03

标签: android bluetooth gps external

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

请帮忙。

2 个答案:

答案 0 :(得分:7)

您应该按照教程Peter pointed

中所述创建与设备的连接
  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!!!
    
  4. 请记住:此代码非常简单。在实际应用中,应在不需要时关闭与网络,设备或文件系统资源的每个连接,正确处理错误(例外)并以可读和可理解的格式向用户显示。

答案 1 :(得分:1)

Android仅支持蓝牙RFCOMM(串行仿真)协议。确保您的GPS支持此协议。

然后从provided bluetooth tutorial开始。