Android 9.0 蓝牙功能之一:蓝牙设置

这篇具有很好参考价值的文章主要介绍了Android 9.0 蓝牙功能之一:蓝牙设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android 9.0 蓝牙功能之一:蓝牙设置

本章节记录如何构建蓝牙设置。


注意蓝牙应用必须是 System App。

主要流程

LocalBluetoothManager 是操作蓝牙的主要入口。

1.通过 LocalBluetoothManager,可以获取到LocalBluetoothAdapter;CachedBluetoothDeviceManager;BluetoothEventManager、LocalBluetoothProfileManager。

2.通过 BluetoothEventManager.registerCallback 注册回调,就可以
监听蓝牙状态变化、设备搜索、连接状态等信息。

3.注册BluetoothCallback.onBluetoothStateChanged 回调即可监听蓝牙开关状态。
可以通过LocalBluetoothAdapter.enable()打开蓝牙。

4.注册BluetoothCallback.onScanningStateChanged来监听蓝牙搜索状态,
当调用LoalBluetoothAdapter.startScanning 开始搜索后搜索到的设备通过
BluetoothCallback.onDeviceAdded 回调给 App。

5.最后通过 CachedBluetoothDevice.connect发起连接搜索到的指定设备。

相关代码

添加蓝牙相关权限:
AndroidManifest.xml :

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

初始化蓝牙相关接口


//获取蓝牙相关对象
mLocalBluetoothManager = LocalBluetoothManager.getInstance(context,mOnInitCallback);
mCachedDeviceManager = mLocalBluetoothManager.getCachedDeviceManager();
mBluetoothEventManager = mLocalBluetoothManager.getEventManager();
mBluetoothProfileManager = mLocalBluetoothManager.getProfileManager();

//注册回调
mBluetoothEventManager.registerCallback(mBluetoothCallback);
mBluetoothProfileManager.addServiceListener(mServiceListener);

实现 ServiceListener,以监听 Profile 相关接口


LocalBluetoothProfileManager.ServiceListener mServiceListener = new LocalBluetoothProfileManager.ServiceListener() {
 void onServiceConnected() {

 //蓝牙已经打开,可以调用各 Profile 的接口了,比如可以获取连接状态,连接蓝牙设备等。

 }
 void onServiceDisconnected() {

 //蓝牙已经关闭

 }
};

监听蓝牙各状态变化,至于设备的连接或者断开主要通过CachedBluetoothDevice对象操作。文章来源地址https://www.toymoban.com/news/detail-423309.html


BluetoothCallback mBluetoothCallback = new BluetoothCallback() {

 void onBluetoothStateChanged(int bluetoothState) {
 //蓝牙开关状态变化
 }
 void onScanningStateChanged(boolean started) {
 //蓝牙搜索状态变化
 }
 void onDeviceAdded(CachedBluetoothDevice cachedDevice) {
 //搜索到新设备
 }
 void onDeviceDeleted(CachedBluetoothDevice cachedDevice) {
 //配对的设备被移除
 }
 void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {
 //设备配对状态变化
 }
 void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
 //设备连接状态变化
 }
 void onActiveDeviceChanged(CachedBluetoothDevice activeDevice, int bluetoothProfile) {
 //活动设备变化
 }
 void onProfileConnectionStateChanged(CachedBluetoothDevice cachedDevice) {
 //Profile协议连接状态变化(a2db;hdcp)
 }
};

到了这里,关于Android 9.0 蓝牙功能之一:蓝牙设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android P 9.0 增加以太网静态IP功能

    1、vendormediatekproprietarypackagesappsMtkSettingsresxmlnetwork_and_internet.xml 在 mobile_network_settings 和 tether_settings 之间增加如上代码, 对应的 icon 资源文件是我从 SystemUI 中拷贝过来的,稍微调整了下大小,也贴给你们吧 2、vendormediatekproprietarypackagesappsMtkSettingsresdrawableic_ethern

    2024年02月22日
    浏览(57)
  • Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎

    在9.0的系统rom定制化开发中,在产品开发中,一些内置的app需要用到tts语音播报功能,所以需要用到讯飞语音引擎作为默认的系统tts语音引擎功能,所以就需要 了解系统关于tts语音引擎默认的设置方法,然后在设置讯飞语音引擎为默认的tts语音引擎来实现tts语音播报功能的实

    2024年02月07日
    浏览(71)
  • Android 9.0 pms获取应用列表时过滤掉某些app功能实现

     在9.0的系统rom定制化开发中,对系统定制的功能也是很多的,在一次产品开发中,要求在第三方app获取应用列表的时候,需要过滤掉某些app,就是不显示在app应用列表中,这就需要在pms查询app列表时过滤掉这些app就可以了,接下来就实现这些功能 pms获取应用列表时过滤掉某些

    2024年02月10日
    浏览(55)
  • Android 9.0 Camera2 拍照功能默认选前摄像头

     在9.0的系统产品开发中,对于app调用系统api来打开摄像头拍照的功能也是常有的功能,而拍照一般是默认打开后置摄像头拍照的,由于 客户的产品特殊要求,需要打开前置摄像头拍照功能,所以需要了解拍照功能的流程,然后修改默认前置摄像头打开拍照功能就可以了 ap

    2024年02月03日
    浏览(66)
  • Android 9.0 ota升级关于SettingsProvider新增和修改系统数据相关功能实现

      在9.0的系统rom定制化开发中,在进行ota升级的过程中,由于在SettingsProvider中新增了系统属性和修改某项系统属性值,但是在ota升级以后发现没有 更新,需要恢复出厂设置以后才会更改,但是恢复出厂设置 会丢掉一些数据,这是应为系统数据库没更新,所以需要在ota的时候

    2024年01月22日
    浏览(69)
  • Android 9.0 kenel和frameworks中修改ram运行内存的功能实现

    在9.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,在产品后续订单中,在某些机型中需要升级下系统内核配置,项目时间比较仓促,所以 来不及对硬件重新定制,就需要软件方面在ram运行内存的容量大小方面作假,修改ram真实的大小容量,所以就需要在

    2024年02月09日
    浏览(40)
  • Android 9.0 系统开启禁用adb push和adb pull传输文件功能

      在进行9.0的系统rom定制化开发中,在一些产品中由于一些开发的功能比较重要,防止技术点外泄在出货产品中,禁用 adb pull 和adb push等命令 来获取系统system下的jar 和apk 等文件,所以需要禁用这些命令 看了下系统源码中的adb的代码,adb的源码在system/core/adb下面, (1)adb的本

    2024年01月21日
    浏览(51)
  • VMware安装Android-x86_64-9.0-r2系统兼容arm设置

    Android-x86_64-9.0-r2虚拟机安装兼容arm的android应用程序 1. 安装后WLAN提示已连接无网络(实际网络联通),终端模拟器依次输入以下命令后回车重启系统 2. 安装ES文件浏览器: (1)浏览器输入www.estrongs.com,点击Android下载安卓apk (2)左上角通知点开后点击刚下载的apk安装ES文件

    2024年02月11日
    浏览(33)
  • Android 9.0 系统rom定制之user模式下解除系统进入recovery功能的限制

     在9.0的系统rom定制化开发中,系统中recovery模式功能也是很重要的一部分,而在原生系统中,对于debug模式的产品,可以通过电源键和音量+键进入recovery模式, 但是在user模式下的产品,对于通过这种方式,进入recovery模式就受限制了,防止用户无操作为了产品安全等,不让进

    2024年02月16日
    浏览(54)
  • Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

     在9.0的系统rom产品定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的通知背景默认是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通知显示流程,设置默认下拉状态栏UI中

    2024年02月01日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包