我正在开发使用GPS数据的应用。我有一个外置蓝牙GPS设备,但我找不到如何使用外置GPS蓝牙模块。我在我的AndroidManifest文件中添加了蓝牙权限,但我不知道如何继续......
请帮忙。
答案 0 :(得分:7)
您应该按照教程Peter pointed。
中所述创建与设备的连接BluetoothDevice device
变量设置为您的设备。以客户端身份连接:
// 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
检索信息。您现在可以打开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 :(得分:1)
Android仅支持蓝牙RFCOMM(串行仿真)协议。确保您的GPS支持此协议。