java - 蓝牙设备(主)启动与 Android 的蓝牙连接

标签 java android bluetooth

我有一个蓝牙(BT)设备(Master),在BT设备打开后必须自动连接到Android设备。
在我看来,这将类似于 BT 耳机设备与 Android 的连接,即当耳机打开时 - 它会自动启动与 Android 的连接并连接到它。在 Android 上为 BT 连接创建并保持开放套接字是 Not Acceptable 。

我的问题是可以这样做以及如何做到?

如果有一些监听器/服务在 Android 系统后台运行并为传入的 BT 连接创建一些事件/Intent ,它是什么,以及我如何从中获取信息/通知?

此外,有趣的是 - android 如何知道 BT 耳机想要连接 - 如果它收到消息/数据包或其他东西?

最佳答案

好的,我解决了我的问题,代码如下:
AndroidManifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

还有

<receiver
    android:enabled="true"
    android:name="com.package.name.ConnectionReceiver" >

    <intent-filter>
        <action android:name="android.bluetooth.device.action.ACL_CONNECTED"
            android:name="android.bluetooth.device.action.ACL_DISCONNECT" />
    </intent-filter>
</receiver>

我还实现了一个 BroadcastReceiver 子类 onReceive 方法,该方法接收并处理这些操作。

关于java - 蓝牙设备(主)启动与 Android 的蓝牙连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11241712/

相关文章:

swift - 在使用 swift 展开可选值蓝牙时意外发现 nil

java - 在android中创建一个预定服务

Java、Swing - 删除后 Jtable 行保留

java - RxJava 收集() & takeUntil()

java - 为什么 Java 编译器会生成奇怪的局部变量和堆栈映射框架,我如何使用它们来可靠地确定变量类型?

android - 在 android 上使用图像 Sprite

java - 什么更快 : to create a new array or iterate through existing?

java - Android Studio 看不到 ArrayList 类

java - Android如何从TextView获取String到String

c - ANSI C 蓝牙 API 和教程 Linux