我正在开发一个应用程序,其中Android手机是蓝牙服务器,接受蓝牙连接,然后使用它们向其他手机发送和接收数据。
我的想法是使用BluetoothAdapter并通过启动服务来对ACTION_FOUND意图作出反应。但是,我不知道如何保持与以这种方式创建的服务的连接。我将以下内容放入AndroidManifest文件中:
<service
android:label="@string/bluetooth_connection_activity"
android:name=".BluetoothConnection" >
<intent-filter>
<action android:name="android.bluetooth.device.action.FOUND" />
</intent-filter>
</service>
这是正确的方法吗?
我的假设是正确的,到现在为止,每次找到设备时,都会创建一个新服务吗?如果是,我如何保持与此服务的连接,以便我可以使用蓝牙连接?
如果您认为我这样做的方式完全错误,请告诉我。
答案 0 :(得分:0)
您可以在BroadcastReceiver中使用ACTION_FOUND
来发现BT设备。
mBT = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBT.getBoundedDevices();
if (pairedDevices.size()>0) {
for (BluetoothDevice device : pairedDevices) {
device.getName();
device.getAddress();
}
}
OR:
创建BroadcastReceiver和mBT.startDiscovery(); 看到 1)“Android in Action”第367页 2)“Android SDK”http://developer.android.com/guide/topics/wireless/bluetooth.html 3)在Android-SDK中http://developer.android.com/resources/samples/BluetoothChat/index.html
示例BluetoothChat