我在那里遇到了一件棘手的事情,当我尝试使用我的Android手机(Acer液体Z3,android版本:4.2.2)连接到笔记本电脑上用C编写的蓝牙服务器时,我遇到了这个例外:服务发现失败。 奇怪的是,在另一部手机(三星Galaxy Grand2,android版本:4.4.2)上,BluetoothSocket能够连接,发送和恢复数据。 另一个奇怪的事情是,我尝试使用集成蓝牙的便携式笔记本电脑,它可以与两部手机配合使用。我真的不知道如何解决我的问题。我尝试过在网上看到的所有内容都没有成功。
这是我的代码:
public class MainActivity extends Activity
{
private BluetoothDevice BTHDevice;
private BluetoothSocket BTHSocket;
private OutputStream output;
private String adrBluetooth = "00:15:83:0C:BF:EB";
private final UUID MyUUID = UUID.fromString("5e3c369d-6557-40d6-9547-74e345f0f70d");
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BTHAdapter = BluetoothAdapter.getDefaultAdapter();
}
public void OnMenuConnect(MenuItem item)
{
BTHDevice = BTHAdapter.getRemoteDevice(adrBluetooth);
try
{
BTHSocket = BTHDevice.createRfcommSocketToServiceRecord(MyUUID);
BTHAdapter.cancelDiscovery();
BTHSocket.connect();
output = BTHSocket.getOutputStream();
}
catch( IOException e )
{
e.printStackTrace();
}
}
}