上次说到关于蓝牙的开发问题,但期间我们总要有一个人工的交互,需要用户输入配对码!

怎样才能取消用户输入配对码呢?查找了一些资料,发现android中关于蓝牙这模块有一个

相当隐蔽的广播action,需要你自己去设置,不然还没法用,

体现方式为:

IntentFilter filter_PAIRING_REQUEST = new IntentFilter(

"android.bluetooth.device.action.PAIRING_REQUEST");

registerReceiver(

Bluetooth_BroadcastReceiver, filter_PAIRING_REQUEST);

然后在但接收到这个广播的时候处理方式为:


BluetoothDevice ExtraDevice = intent

.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);


try {

ExtraDevice.getClass().getMethod("setPin", byte[].class)

.invoke(ExtraDevice, pairing_pin.getBytes());

} catch (Exception e) {

log.Show("Exception(setPin):" + e.getMessage());

e.printStackTrace();

}

ps:里面的pairing_pin为你设定的需要配对时用的配对码 eg:pairing_pin = “1234”;

做完了这些,当我们去测试的时候,会发现,有一个情况总会出现,那就是每次窗口会一闪而过,

总会出现系统的配对窗口,然后自己会自动消失了,对于这一现象,我到现在还没有找到解决的方法,

初步设想有三种方式(我也不知道可不可行,要是有错情不要怪我!):

方法一:屏蔽系统的蓝牙监听

方法二:在线程中,我们有优先级的这一说法,那么在activity中会不会也有这一种说法呢?

把我们当前界面的activity的优先级设置为最高的时候,我们用户所能看到的就只有

应用软件的界面了。

方法三:我们知道android中有好多的manager,那有没有一个管理界面窗口的manager,

它能够屏蔽系统dialog显示或一直展现我们应用界面呢?

若是有哪位大神已经做出了效果的话,请通知小弟一声!万谢!!!


更多相关文章

  1. android 运用取消默认的window preview
  2. Android启动画面的实现方法
  3. 破解Xamarin
  4. android 一键锁屏 开发
  5. Android(安卓)如何创建组合控件
  6. 提高数倍工作效率的Android(安卓)Studio技巧
  7. Android使用SharedPreferences保存List列表数据
  8. Android事件分发机制详解(二)
  9. android(18)_数据存储与访问_SQLite数据库_使用SQLiteDatabase操

随机推荐

  1. Android输入系统概述
  2. Android之Adapter用法总结
  3. Android(安卓)UI开发专题(一) 之界面设计
  4. Android(安卓)9.0中sdcard 的权限和挂载
  5. Android(安卓)自定义view完全解析--带你
  6. Android(安卓)ViewDragHelper(1)
  7. Android(安卓)网络:Retrofit 与 Kotlin
  8. Eclipse 重装Android(安卓)ADT 问题~解决
  9. android 渗透测试必备工具
  10. Android(安卓)Studio 2.2 预览 - 新的UI