2014-10-11 246 views
3

我在這裏看到(https://gist.github.com/tito/7432757)如何使用pyjnius使用kivy通過藍牙連接訪問java類。我試圖做的是發現新設備並使用sdp不安全地連接到它們。我不確定如何在kivy中收到startDiscovery()的結果。在Java中,你必須使用廣播接收器。我是否也必須使用pyjnius從android訪問廣播接收器?Kivy和發現藍牙設備

回答

2

您錯過了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() 
+0

謝謝!我會試試這個... – Jamie 2014-11-28 14:01:31