[BT][Setting]如何在Framework层实现BT的自动配对

[DESCRIPTION]

 客户有需求在没有屏和TP的情况下,如果有其他蓝牙对此设备进行配对,希望能自动完成配对动作,而不需要谈出需要用户确认的对话框。

Android手机平台上当对方发起配对时主要使用种配对方式:

1.SSP数字比对,即双方手机产生配对密钥,由用户选择yes or no来进行鉴权连接。
2.Pin Code, 如果对方蓝牙不支持BT2.1以上版本,一般会走此流程,即双方输入四位数字进行配对。此方式需要预置4为数字,当对方发起配对时,需要输入此四位数字。

下面的内容是如何添加代码来实现BT自动配对的流程!

修改文件: (alps\packages\apps\settings\src\com\android\settings\bluetooth\BluetoothPairingRequest.java)
总共修改5处。

1.import android.util.Log;

2.在BluetoothPairingRequest类中定义两个变量
private static int mType = 0;
private BluetoothDevice mDevice;

3.在BluetoothPairingRequest 类中添加私有方法
private void autoPair(int value) {
switch (mType) {
case BluetoothDevice.PAIRING_VARIANT_PIN:
byte[] pin= {0,1,2,3};
mDevice.setPin(pin);
break;
case BluetoothDevice.PAIRING_VARIANT_PASSKEY:
mDevice.setPasskey(value);
break;
case BluetoothDevice.PAIRING_VARIANT_PASSKEY_CONFIRMATION:
case BluetoothDevice.PAIRING_VARIANT_CONSENT:
mDevice.setPairingConfirmation(true);
break;
case BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY:
case BluetoothDevice.PAIRING_VARIANT_DISPLAY_PIN:
// Do nothing.
break;
case BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT:
mDevice.setRemoteOutOfBandData();
break;
default:
Log.e(“autoPair”, “Incorrect pairing type received”);
}
}
4. 在 int type = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT,
BluetoothDevice.ERROR);
后面添加以下两句
mType = type;
mDevice = device;
5. 注释掉context.startActivity(pairingIntent);这句,
并在 if (powerManager.isScreenOn() &&前面添加
int pairingKey = intent.getIntExtra (BluetoothDevice.EXTRA_PAIRING_KEY,
BluetoothDevice.ERROR);
autoPair(pairingKey);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是配置setting.json文件实现自动格式化的步骤: 1. 打开VS Code,按下 `Ctrl + Shift + P`,在搜索框中输入“settings.json”,选择“Preferences: Open User Settings”选项,打开用户设置。 2. 在用户设置页面中,点击右上角的“{}”按钮,打开settings.json文件。 3. 在settings.json文件中,添加以下内容: ```json "editor.formatOnSave": true, "[javascript]": { "editor.formatOnSave": false }, "[json]": { "editor.formatOnSave": true }, "[typescript]": { "editor.formatOnSave": false }, ``` 其中,`editor.formatOnSave`表示保存时是否自动格式化代码。在上面的配置中,JavaScript文件保存时不进行自动格式化,而JSON文件保存时自动格式化。 4. 保存settings.json文件,配置就生效了。 这样,当你在VS Code中编辑代码时,保存文件时会自动进行格式化,让你的代码更加整洁易读。 ### 回答2: VSCode是一款功能强大的代码编辑器,可以通过配置setting.json文件实现自动格式化。 首先,我们需要打开VSCode并在左侧的侧边栏中选择“扩展”图标。接下来,点击搜索框并输入“Prettier - Code formatter”来安装Prettier插件。Prettier是一个代码格式化工具,可以帮助我们自动格式化代码。 安装完成后,点击左上角的文件菜单,选择“首选项”并选择“设置”。这将打开setting.json文件,其中包含了VSCode的所有配置选项。 在setting.json文件中,我们需要配置以下几个参数来实现自动格式化: 1. `"editor.formatOnSave": true`:这个参数表示在保存文件自动格式化代码。 2. `"editor.defaultFormatter": "esbenp.prettier-vscode"`:这个参数指定了默认的代码格式化工具为Prettier。 配置完成后,保存setting.json文件。现在,只要我们编辑保存文件时,VSCode将会自动调用Prettier插件来格式化代码。 此外,我们还可以根据自己的需求进行更多的配置。例如,可以配置Prettier的格式化规则,如缩进大小、换行符等。可以在setting.json文件中添加以下参数: ``` "prettier.tabWidth": 2, "prettier.singleQuote": true ``` 这两个参数分别设置缩进大小为2和使用单引号。根据自己的需要进行配置即可。 总之,通过配置setting.json文件中的相关选项,我们可以实现VSCode的自动格式化功能,使代码看起来更加整洁和易读。 ### 回答3: 要实现在VSCode中自动格式化代码,需要配置setting.json文件。首先,打开VSCode,点击左下角的设置图标,选择“首选项”>“设置”。在用户设置或工作区设置中,找到“Editor: Default Formatter”选项,并选择适合的代码格式化程序,如Prettier。 接下来,在setting.json文件中添加以下代码实现自动格式化: { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" } 其中,"editor.formatOnSave": true表示在保存文件自动格式化代码,"editor.defaultFormatter": "esbenp.prettier-vscode"表示使用Prettier作为默认的代码格式化程序。 保存setting.json文件后,即可在保存文件自动进行代码格式化。这样可以节省时间和提高代码的可读性。 需要注意的是,如果VSCode中还没有安装Prettier插件,需要先安装该插件,方法是点击左侧的扩展图标,搜索Prettier,然后选择并安装。这样才能正确使用Prettier进行代码格式化。 通过以上步骤配置setting.json文件,就可以在VSCode中实现自动格式化代码的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值