Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要对应用程序进行编程以连接到蓝牙设备吗_Java_Android_Bluetooth - Fatal编程技术网

Java 要对应用程序进行编程以连接到蓝牙设备吗

Java 要对应用程序进行编程以连接到蓝牙设备吗,java,android,bluetooth,Java,Android,Bluetooth,希望有人能把我送到正确的方向 我正在尝试编写一个简单的应用程序,通过蓝牙连接到火灾报警设备。总体目标是,当设备触发火灾报警时,应用程序通过简单的二进制报警/无报警功能显示火灾报警状态 我遇到的问题是编程蓝牙功能。我有Java方面的经验,但没有蓝牙功能。我想编程一个按钮,搜索和连接到蓝牙设备 下面是我在MainActivity.kt中开始的一段代码 package com.example.myapplication import androidx.appcompat.app.AppCompatA

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

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

我遇到的问题是编程蓝牙功能。我有Java方面的经验,但没有蓝牙功能。我想编程一个按钮,搜索和连接到蓝牙设备

下面是我在MainActivity.kt中开始的一段代码

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 {

        }
    }
}
package com.example.myapplication
导入androidx.appcompat.app.appcompat活动
导入android.os.Bundle
导入android.widget.Button
类MainActivity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val daqButton=findviewbyd(R.id.daqButton)
daqButton.setOnClickListener{
}
}
}
下面是我在AndroidManifest.xml中开始的代码

<?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>



任何提示或技巧,以帮助我完成这是非常感谢!提前感谢:)

好吧,实现这一点最简单的方法是使用这样的第三方库

  • 将库依赖项包括到
    应用程序模块
    gradle文件中
  • 在应用程序中设置库,如GitHub上库的存储库中所述
  • 如果您需要从应用程序连接到设备,您必须通过提供
    列表视图和插入发现的蓝牙设备的逻辑来实现扫描功能。请参阅Github存储库文档,您将发现一些回调,可用于实现搜索、发现和连接功能
  • 如果您更愿意遵循简单的方法,只需从设备的蓝牙管理器外部连接到蓝牙设备,那么您可以按如下方式与设备通信
@覆盖
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main)
蓝牙=新蓝牙(本);
蓝牙发送(“你的信息”);
}
  • 如果您想从其他蓝牙设备接收回一些响应,您必须收听
    DeviceCallback()
    ,您将在Github存储库中找到它的描述
注 您必须在清单文件中添加一些权限,这些文件是

  • 蓝牙
  • 蓝牙管理
  • 访问\u粗略\u位置
以便访问您的应用程序以使用蓝牙

  • 您可以按照图书馆提供的方法进行操作

谢谢您提供的信息。我将浏览您删除的github链接,但也许仅仅利用蓝牙管理器内置的设备可能是最好的做法。