当前位置: 首页 > 工具软件 > SL4A > 使用案例 >

android蓝牙python,android – 使用SL4A(Python)和蓝牙

夏雅志
2023-12-01

寻找一些让我入门的建议.

在我的左手中,我有一个运行ICS的SGS2.我已经启动并运行了SL4A并安装了Python 2.6.2

在我的右手中,我有一个通用的中国蓝牙RFID阅读器.它工作,它读取标签(它有一个显示器),它与手机配对.

我希望他们玩得很好 – 我想编写一些能够继续观看设备并在传输时捕获代码的脚本.

我不是Python专家,但我已经使用它一段时间在Web服务器上构建简单的I / O作业,所以我可以找到自己的方法.

不同寻常的是,我遇到了实际问题 – 我找不到任何“开始使用蓝牙和SL4A”资源来克服建立持久连接和监控输出的第一步.

有小费吗?

解决方法:

看来你需要的是蓝牙外观.以下是一些与蓝牙相关的命令,可能对您有所帮助:

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()

标签:android,python,bluetooth,sl4a

来源: https://codeday.me/bug/20190725/1537943.html

 类似资料: