Kivy和发现蓝牙设备

时间:2014-10-11 17:04:55

标签: android bluetooth kivy

我在这里看到(https://gist.github.com/tito/7432757)如何使用pyjnius访问使用kivy通过蓝牙连接的java类。我想要做的是发现新设备并使用sdp不安全地连接到它们。我不确定如何在kivy中收到startDiscovery()的结果。在java中,您必须使用广播接收器。我是否还必须使用pyjnius从Android访问广播接收器?

1 个答案:

答案 0 :(得分: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()