我正在使用GPS数据的应用程序。我有一个外部蓝牙GPS设备,但我找不到如何使用外部GPS蓝牙模块。我将蓝牙许可添加到我的AndroidManifest文件中,但我不知道如何继续...如何在应用程序中使用蓝牙GPS模块?
请帮忙。
我正在使用GPS数据的应用程序。我有一个外部蓝牙GPS设备,但我找不到如何使用外部GPS蓝牙模块。我将蓝牙许可添加到我的AndroidManifest文件中,但我不知道如何继续...如何在应用程序中使用蓝牙GPS模块?
请帮忙。
您应该按照教程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!!!
记住:此代码是非常简单的。在实际应用中,每个不需要的网络,设备或文件系统资源连接都应该关闭,错误(异常)能够以可读和可理解的格式正确处理并显示给用户。
谢谢,我已经解决了这个问题,但它是其他人的好手册:) – west44