Android 配对蓝牙设备不显示应用配置文件
Posted
技术标签:
【中文标题】Android 配对蓝牙设备不显示应用配置文件【英文标题】:Android paired Bluetooth device not showing app profile 【发布时间】:2015-07-30 21:16:57 【问题描述】:我不太熟悉 Android 蓝牙功能。我有开发和工作代码通过蓝牙通过我的应用程序连接两个 android 设备。现在的问题是。我的应用中有一个个人资料,例如用户个人资料。个人资料只有用户的姓名和照片。现在让我们举个例子。我有两个 android 设备,第一个设备安装了我的应用程序,配置文件名称为 John。第二台设备安装了我的应用程序,配置文件名称为 Lara。当我通过我的应用程序连接这两个设备时,如果 john 与 Lara 连接,我想在我的应用程序(john 的手机)中显示 John 与 Lara 连接。这意味着约翰应用程序显示了劳拉的个人资料。我有工作代码,通过编码连接两个蓝牙设备。但我仍然无法打开配对设备应用配置文件名称。过去两天我一直在寻找此功能的解决方案,但我仍然无法在我的应用程序中显示个人资料。 我知道这个问题不适合堆栈溢出。但你的回答对我帮助很大。
提前致谢。
【问题讨论】:
你的要求很酷,但实现起来太难了。 谢谢,我知道这很难。但我怎样才能获得这种类型的功能?有什么办法吗? 【参考方案1】:我会使用来自this question 的答案,这将使您至少将一个字符串从一个设备发送到另一个。您正在寻找的答案太累了,但这是一个开始。我不会直接复制我链接到的答案,因为我认为你应该检查一下并投票如果它对你有帮助,但我会使用它的某些部分,这样你就可以看到这是否是你的正在寻找。
基本上,您在设备之间打开一个套接字。
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());
socket.connect();
//Creating objects to hold the output and input from the socket
outputStream = socket.getOutputStream();
inStream = socket.getInputStream();
然后您设置一个函数从一个设备写入另一个设备。
public void write(String s) throws IOException
outputStream.write(s.getBytes());
而且,要在其他设备上读取字符串,您需要使用字节缓冲区并将其转换为字符串。这就是你获取字节的方式。
bytes = inStream.read(buffer, bytes, BUFFER_SIZE - bytes);
【讨论】:
感谢您的精彩回复,我正在研究相同的编码结构。如果我成功了,我会在这里上传我的代码。再次感谢。以上是关于Android 配对蓝牙设备不显示应用配置文件的主要内容,如果未能解决你的问题,请参考以下文章