Kivy 和通过蓝牙发现设备

问题描述 投票:0回答:1

我在这里看到了(https://gist.github.com/tito/7432757)如何使用 pyjnius 使用 kivy 通过蓝牙连接来访问 java 类。我想做的是发现新设备并使用 sdp 不安全地连接到它们。我不知道如何在kivy中接收

startDiscovery()
的结果。在java中你必须使用广播接收器。我是否也必须使用 pyjnius 从 android 访问广播接收器?

android bluetooth kivy
1个回答
4
投票

您错过了 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()
© www.soinside.com 2019 - 2024. All rights reserved.