Android 使用SL4A(Python)和蓝牙
正在寻找一些指引让我开始 在我的左手我有一个SGS2运行ICS。我已经启动并运行了SL4A,并安装了Python 2.6.2 在我的右手里有一个通用的中文蓝牙RFID阅读器。它工作,它读取标签(它有一个显示器),它与手机配对 我希望他们玩得很好——我想编写一些脚本,让他们在传输代码的过程中不断监视设备并捕获代码 我不是Python专家,但我已经使用它在web服务器上构建简单的I/O作业有一段时间了,这样我就可以找到自己的方法了 但不同寻常的是,我在这方面遇到了真正的问题——我找不到任何“蓝牙和SL4A入门”资源来完成建立持久连接和监控输出的第一步Android 使用SL4A(Python)和蓝牙,android,python,bluetooth,sl4a,Android,Python,Bluetooth,Sl4a,正在寻找一些指引让我开始 在我的左手我有一个SGS2运行ICS。我已经启动并运行了SL4A,并安装了Python 2.6.2 在我的右手里有一个通用的中文蓝牙RFID阅读器。它工作,它读取标签(它有一个显示器),它与手机配对 我希望他们玩得很好——我想编写一些脚本,让他们在传输代码的过程中不断监视设备并捕获代码 我不是Python专家,但我已经使用它在web服务器上构建简单的I/O作业有一段时间了,这样我就可以找到自己的方法了 但不同寻常的是,我在这方面遇到了真正的问题——我找不到任何“蓝牙和S
有什么建议吗?看来您需要的是蓝牙外观。以下是一些与蓝牙相关的命令,可能对您有所帮助:
bluetoothAccept
bluetoothActiveConnections
bluetoothConnect
bluetoothDiscoveryCancel
bluetoothDiscoveryStart
bluetoothGetConnectedDeviceName
bluetoothGetLocalAddress
bluetoothGetLocalName
bluetoothGetRemoteDeviceName
bluetoothGetScanMode
bluetoothIsDiscovering
bluetoothMakeDiscoverable
bluetoothRead
bluetoothReadBinary
bluetoothReadLine
bluetoothReadReady
bluetoothSetLocalName
bluetoothStop
bluetoothWrite
bluetoothWriteBinary
checkBluetoothState
toggleBluetoothState
要调用这些命令中的任何一个,您可以执行以下操作
import android
droid = android.Android()
#call your commands with droid.bluetoothcommand
droid.bluetoothDiscoveryStart()
#or
droid.toggleBluetoothState(True)
以下是一些蓝牙功能的示例,它包含在SL4A中,但为了清晰起见,我添加了注释:
import android #for bluetooth functions
import time #for waiting
#get everything setup
droid = android.Android()
#turn on bluetooth
droid.toggleBluetoothState(True)
#ask user
droid.dialogCreateAlert('Be a server?')
droid.dialogSetPositiveButtonText('Yes')
droid.dialogSetNegativeButtonText('No')
droid.dialogShow()
#get user response to question
result = droid.dialogGetResponse()
#if the result is 'Yes' ('positive') then is_server is set to True
is_server = result.result['which'] == 'positive'
if is_server:
#so if is_server is true make the device discoverable and accept the next connection
droid.bluetoothMakeDiscoverable()
droid.bluetoothAccept()
else:
#attempts to connect to a device over bluetooth, the logic being that if the phone
#is not receiving a connection then the user is attempting to connect to something
droid.bluetoothConnect()
if is_server:
result = droid.getInput('Chat', 'Enter a message').result #Gets a message to send
#via bluetooth
if result is None:
droid.exit() #exit if nothing is in the message
droid.bluetoothWrite(result + '\n') #otherwise write the message
while True: #receives a message
message = droid.bluetoothReadLine().result
droid.dialogCreateAlert('Chat Received', message)
droid.dialogSetPositiveButtonText('Ok')
droid.dialogShow()
droid.dialogGetResponse()
result = droid.getInput('Chat', 'Enter a message').result
if result is None:
break
droid.bluetoothWrite(result + '\n')
droid.exit()
最后,要查看蓝牙命令的完整列表,请签出并向下滚动到bluetooth facade。祝你好运 @Mathew,SL4A BT api是否支持扫描其他BT设备?我没有找到那个API,有没有办法包括那个API和构建?谢谢,Vunfortuly我不这么认为,虽然我不是专家,但是如果你看到什么,请告诉我!