{"id":20472197,"url":"https://github.com/kongqw/androidbluetoothmanager","last_synced_at":"2025-10-26T23:32:46.968Z","repository":{"id":188861509,"uuid":"85178711","full_name":"kongqw/AndroidBluetoothManager","owner":"kongqw","description":"Android Bluetooth Library","archived":false,"fork":false,"pushed_at":"2017-03-16T09:57:40.000Z","size":8833,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T02:21:16.980Z","etag":null,"topics":["android","bluetooth","library"],"latest_commit_sha":null,"homepage":"http://blog.csdn.net/q4878802/article/details/62430661","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kongqw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-16T09:40:49.000Z","updated_at":"2025-03-11T20:29:17.000Z","dependencies_parsed_at":"2023-08-17T07:39:15.461Z","dependency_job_id":null,"html_url":"https://github.com/kongqw/AndroidBluetoothManager","commit_stats":null,"previous_names":["kongqw/androidbluetoothmanager"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kongqw%2FAndroidBluetoothManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kongqw%2FAndroidBluetoothManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kongqw%2FAndroidBluetoothManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kongqw%2FAndroidBluetoothManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kongqw","download_url":"https://codeload.github.com/kongqw/AndroidBluetoothManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703199,"owners_count":21148118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","bluetooth","library"],"created_at":"2024-11-15T14:19:00.487Z","updated_at":"2025-10-26T23:32:46.885Z","avatar_url":"https://github.com/kongqw.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://jitpack.io/v/kongqw/AndroidBluetoothManager.svg)](https://jitpack.io/#kongqw/AndroidBluetoothManager)\n\nTo get a Git project into your build:\n\nStep 1. Add the JitPack repository to your build file\n\nAdd it in your root build.gradle at the end of repositories:\n\n``` gradle\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\nStep 2. Add the dependency\n\n``` gradle\ndependencies {\n        compile 'com.github.kongqw:AndroidBluetoothManager:1.0.0'\n}\n```\n\n# 效果图\n\n![效果图](https://github.com/kongqw/AndroidBluetoothManager/blob/master/gif/pic.png)\n\n![效果图](https://github.com/kongqw/AndroidBluetoothManager/blob/master/gif/gif.gif)\n\n# 基础功能\n\n\n## 添加权限\n\n``` xml\n\u003cuses-permission android:name=\"android.permission.BLUETOOTH\" /\u003e\n\u003cuses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" /\u003e\n\u003cuses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" /\u003e\n\u003cuses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" /\u003e\n```\n\n## 初始化\n\n``` java\nmBluetoothManager = new BluetoothManager();\n```\n\n## 打开蓝牙\n\n``` java\nmBluetoothManager.openBluetooth();\n```\n\n## 关闭蓝牙\n\n``` java\nmBluetoothManager.closeBluetooth();\n```\n\n## 添加蓝牙开关状态的监听\n\n``` java\nmBluetoothManager.setOnBluetoothStateListener(this);\n```\n\n``` java\n/**\n * 正在关闭蓝牙的回调\n */\n@Override\npublic void onBluetoothStateTurningOff() {\n    // TODO\n}\n\n/**\n * 蓝牙关闭的回调\n */\n@Override\npublic void onBluetoothStateOff() {\n    // TODO\n}\n\n/**\n * 正在打开蓝牙的回调\n */\n@Override\npublic void onBluetoothStateTurningOn() {\n    // TODO\n}\n\n/**\n * 蓝牙打开的回调\n */\n@Override\npublic void onBluetoothStateOn() {\n    // TODO\n}\n```\n\n## 移除蓝牙开关状态的监听\n\n``` java\nmBluetoothManager.removeOnBluetoothStateListener();\n```\n\n## 设置蓝牙可见\n\n``` java\nstartActivity(mBluetoothManager.getDurationIntent(0));\n```\n\n## 获取蓝牙名称\n\n``` java\nmBluetoothManager.getName()\n```\n\n## 修改蓝牙名称\n\n``` java\nmBluetoothManager.setName(newName);\n```\n\n## 扫描附近的蓝牙设备\n\n``` java\nmBluetoothManager.discovery();\n```\n\n## 添加扫描蓝牙设备的监听\n\n``` java\nmBluetoothManager.setOnDiscoveryDeviceListener(this);\n```\n\n``` java\n/**\n * 开始扫描附近蓝牙设备的回调\n */\n@Override\npublic void onDiscoveryDeviceStarted() {\n    // TODO\n}\n\n/**\n * 扫描到附近蓝牙设备的回调\n *\n * @param device 蓝牙设备\n */\n@Override\npublic void onDiscoveryDeviceFound(BluetoothDevice device) {\n    // TODO\n}\n\n/**\n * 扫描附近蓝牙设备完成的回调\n */\n@Override\npublic void onDiscoveryDeviceFinished() {\n    // TODO\n}\n```\n\n## 移除扫描蓝牙设备的监听\n\n``` java\nmBluetoothManager.removeOnDiscoveryDeviceListener();\n```\n\n# 服务端\n\n## 初始化\n\n``` java\nmBluetoothService = new BluetoothService() {\n\n    @Override\n    protected UUID onSecureUuid() {\n        // TODO 设置自己的UUID\n        return UUID_SECURE;\n    }\n\n    @Override\n    protected UUID onInsecureUuid() {\n        // TODO 设置自己的UUID\n        return UUID_INSECURE;\n    }\n};\n```\n\n## 等待客户端连接\n\n``` java\nmBluetoothService.start();\n```\n\n## 断开连接/释放资源\n\n``` java\nmBluetoothService.stop();\n```\n\n## 添加蓝牙连接的监听\n\n``` java\nmBluetoothService.setOnServiceConnectListener(new OnServiceConnectListener() {\n    @Override\n    public void onConnectListening() {\n        // TODO\n    }\n\n    @Override\n    public void onConnectSuccess(BluetoothDevice device) {\n        // TODO\n    }\n\n    @Override\n    public void onConnectFail(Exception e) {\n        // TODO\n    }\n\n    @Override\n    public void onConnectLost(Exception e) {\n        // TODO\n    }\n});\n```\n\n## 发送消息\n\n``` java\nmBluetoothService.send(chatText);\n```\n\n## 添加消息收发的监听\n\n``` java\nmBluetoothClient.setOnMessageListener(this);\n```\n\n``` java\n/**\n * 蓝牙发送了消息\n *\n * @param message 发送的消息\n */\n@Override\npublic void onSend(String message) {\n    // TODO\n}\n\n/**\n * 蓝牙接收到消息\n *\n * @param message 接收的消息\n */\n@Override\npublic void onRead(String message) {\n    // TODO\n}\n```\n\n# 客户端\n\n## 初始化\n\n``` java\nmBluetoothClient = new BluetoothClient() {\n    @Override\n    protected UUID onSecureUuid() {\n        // TODO 设置自己的UUID\n        return UUID_SECURE;\n    }\n\n    @Override\n    protected UUID onInsecureUuid() {\n        // TODO 设置自己的UUID\n        return UUID_INSECURE;\n    }\n};\n```\n\n## 蓝牙连接（安全）\n\n``` java\nmBluetoothClient.connect(mBluetoothDevice, true);\n```\n\n## 蓝牙连接（不安全）\n\n``` java\nmBluetoothClient.connect(mBluetoothDevice, false);\n```\n\n## 断开连接/释放资源\n\n``` java\nmBluetoothClient.stop();\n```\n\n## 添加蓝牙连接的监听\n\n``` java\nmBluetoothClient.setOnClientConnectListener(new OnClientConnectListener() {\n    @Override\n    public void onConnecting() {\n        // TODO\n    }\n\n    @Override\n    public void onConnectSuccess(BluetoothDevice device) {\n        // TODO\n    }\n\n    @Override\n    public void onConnectFail(Exception e) {\n        // TODO\n    }\n\n    @Override\n    public void onConnectLost(Exception e) {\n        // TODO\n    }\n});\n```\n\n## 发送消息\n\n``` java\nmBluetoothClient.send(chatText);\n```\n\n## 添加消息收发的监听\n\n``` java\nmBluetoothClient.setOnMessageListener(this);\n```\n\n``` java\n/**\n * 蓝牙发送了消息\n *\n * @param message 发送的消息\n */\n@Override\npublic void onSend(String message) {\n    // TODO\n}\n\n/**\n * 蓝牙接收到消息\n *\n * @param message 接收的消息\n */\n@Override\npublic void onRead(String message) {\n    // TODO\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkongqw%2Fandroidbluetoothmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkongqw%2Fandroidbluetoothmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkongqw%2Fandroidbluetoothmanager/lists"}