我在这里 ( https://gist.github.com/tito/7432757 ) 看到了如何使用 pyjnius 访问 java 类,使用 kivy 通过蓝牙连接。我想做的是发现新设备并使用 sdp 不安全地连接到它们。我不确定如何在 kivy 中接收 startDiscovery()
的结果。在 Java 中,你必须使用广播接收器。我是否也必须使用 pyjnius 从 android 访问广播接收器?
最佳答案
您错过了 BroadcastReceiver在 Python-for-android/android.broadcast
模块中 :) 它完全满足您的需求,它是 Java/Pyjnius 中的一个实现,允许您在 Python 中接收结果。
注意需要监听的 Action 需要用小写字母书写,不要加ACTION_
前缀。
您的应用程序的模型可能如下所示:
class TestApp(App):
def build(self):
self.br = BroadcastReceiver(
self.on_broadcast, actions=['found'])
self.br.start()
def on_broadcast(self, context, intent):
# called when a device in found
pass
# Don't forget to stop and restart the receiver when the app is going
# to pause / resume mode
def on_pause(self):
self.br.stop()
return True
def on_resume(self):
self.br.start()
关于android - Kivy 和发现蓝牙设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317101/