3
我在這裏看到(https://gist.github.com/tito/7432757)如何使用pyjnius使用kivy通過藍牙連接訪問java類。我試圖做的是發現新設備並使用sdp不安全地連接到它們。我不確定如何在kivy中收到startDiscovery()
的結果。在Java中,你必須使用廣播接收器。我是否也必須使用pyjnius從android訪問廣播接收器?Kivy和發現藍牙設備
我在這裏看到(https://gist.github.com/tito/7432757)如何使用pyjnius使用kivy通過藍牙連接訪問java類。我試圖做的是發現新設備並使用sdp不安全地連接到它們。我不確定如何在kivy中收到startDiscovery()
的結果。在Java中,你必須使用廣播接收器。我是否也必須使用pyjnius從android訪問廣播接收器?Kivy和發現藍牙設備
您錯過了Python-for-android/android.broadcast
模塊中的BroadcastReceiver :)它完全符合您的需求,它是Java/Pyjnius中的一個實現,它允許您使用Python接收結果。
請注意,您需要聆聽的操作需要以小寫字母寫,而不要使用前綴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()
謝謝!我會試試這個... – Jamie 2014-11-28 14:01:31