【问题标题】:How to receive data using Bluetooth Server Socket RFCOMM in Android?如何在 Android 中使用蓝牙服务器套接字 RFCOMM 接收数据?
【发布时间】:2012-08-08 20:10:27
【问题描述】:

我正在尝试制作一个 android 应用程序来接收和显示来自配对蓝牙设备的数据。我有一个工作 python 代码,我想在 android 中编写类似的代码。我可以在 Android 手机上运行 Python,但没有 UI!代码使用 RFCOMM 找到端口,然后使用套接字连接。蓝牙设备的地址为 XX:XX:XX:XX:XX:XX 格式,我不知道如何为 android 编写代码。如果你帮我!谢谢! 这是我的python代码:

from bluetooth import *
from sys import stdout

server_address = "XX:XX:XX:XX:XX:XX"
#port = get_available_port( RFCOMM )
try:
  my=sock
except:
  sock=BluetoothSocket( RFCOMM )
  sock.connect((server_address, 1))
  print "connected"
else:
  print "---"
  data=0
while 1:
data= sock.recv(1)
if data== '':
  print "Socket broken"
else:
  data= data
  print "received"
  print text 

sock.close()
sock=None
del sock

这个 android 代码有帮助吗?

String deviceAddress = "XX:XX:XX:XX:XX:XX";
adapter = BluetoothAdapter.getDefaultAdapter();

BluetoothDevice device = _adapter.getRemoteDevice(deviceAddress);

try {
    socket = device.createRfcommSocketToServiceRecord(BluetoothSerialUuid);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

try {
    socket.connect();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

【问题讨论】:

标签: android sockets bluetooth rfcomm


【解决方案1】:

您可以在您的 SDK 中找到此示例的完整源代码:

<sdk>/platforms/android-<version>/samples/

名称为BLUETOOTH CHAT,查看该代码并过滤您想要的内容:)

【讨论】:

  • 这是发送数据的一个很好的例子,但我怎样才能改变它,使它只连接到 deviceAddress = "XX:XX:XX:XX:XX:XX" 并接收数据:) 谢谢
  • 首先你要配对蓝牙设备,之后你可以在android中发送recive,以编程方式。在这里阅读developer.android.com/reference/android/bluetooth/…
  • 另一个问题:如何让 UI 更新接收到的数据,而不是在一行中打印每个数据?!
猜你喜欢
  • 2017-11-06
  • 1970-01-01
  • 2014-04-27
  • 2011-12-13
  • 2015-10-25
  • 2015-08-03
  • 2012-06-22
  • 1970-01-01
  • 2012-11-07
相关资源
最近更新 更多