首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >想要编程应用程序连接到蓝牙设备

想要编程应用程序连接到蓝牙设备
EN

Stack Overflow用户
提问于 2020-10-02 17:24:10
回答 1查看 112关注 0票数 0

希望有人能把我送上正确的方向。

我正试图编写一个简单的应用程序,通过蓝牙连接到一个火灾报警设备。总体目标是在设备上触发火灾报警,应用程序通过简单的二进制报警/无报警功能显示火灾报警状态。

我有困难的是编程蓝牙功能。我有使用Java的经验,但不具备蓝牙功能。我想编程一个按钮,搜索和连接到蓝牙设备。

下面是我在MainActivity.kt中启动的代码

代码语言:javascript
运行
复制
package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val daqButton = findViewById<Button>(R.id.daqButton)

        daqButton.setOnClickListener {

        }
    }
}

下面是我在AndroidManifest.xml中开始的代码

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

    <!-- If your app targets Android 9 or lower, you can declare
         ACCESS_COARSE_LOCATION instead. -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

任何技巧或技巧,以帮助我完成这一点是非常感谢的!(预先谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-02 17:36:11

那么,实现这一点的最简单的方法就是使用像这个蓝牙库这样的第三方库。

  • 将库依赖项包含到app module gradle文件中。
  • 在应用程序中设置库,如库在GitHub上的存储库中所描述的那样。
  • 如果您需要从应用程序连接到设备,您必须自己实现扫描功能,提供一个ListView和插入已发现的蓝牙设备的逻辑。参考Github存储库文档,您将发现一些回调,您可以使用这些回调来实现搜索、发现和连接功能。
  • 如果您喜欢采用简单的方式--从设备的蓝牙管理器外部连接到蓝牙设备--那么您可以按照以下方式与设备进行通信。
代码语言:javascript
运行
复制
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main)

    bluetooth = new Bluetooth(this);
    bluetooth.send("Your message");

}
  • 如果您想从另一个蓝牙设备收到一些响应,您必须听DeviceCallback(),您将在Github存储库中找到它的描述。

备注

您必须在Manifest文件中添加一些权限,其中

  • 蓝牙
  • BLUETOOTH_ADMIN
  • ACCESS_COARSE_LOCATION

为了让你的应用程序能够使用蓝牙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64175832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档