开发一个实现蓝牙自动配对的程序。现在大体功能已经实现。系统收到蓝牙配对请求(android.bluetooth.device.PAIRING_REQUEST)后,会根据情况(具体什么情况由源码决定,大家可以研究源码)决定弹出对话框(BluetoothPairingDialog)还是弹出通知(Notification)。弹出对话框方式时,由于我的程序自己完成了配对,不需要用户输入Pin,对话框弹出时,配对已完成,所以对话框一闪而过;弹出通知时,此时配对也已完成,但是通知还会在通知栏上存在,需要手动移除。所以,我想在不需要用户参与的情境下,将通知去掉。我的思路:
1.压根不要弹出通知。方式是:先于系统得到蓝牙广播,处理完成后,终止这个广播。尝试无果,难道蓝牙广播不是有序广播?
2.弹出后移除。方式是:NotificationManager中有cancel方法。但是(我也不想有但是),貌似应用程序只能移除自己设置的通知,对于蓝牙配对请求的通知,没有权限还是怎么的?想问问大家的意见。android蓝牙

解决方案 »

  1.   

    lz可以尝试用反射方法调用setpin函数,屏蔽了对话框的弹出。
      

  2.   

    楼主
    自动配对的实现思路是什么呢?
    我试了网上的方法,总是在setpin这一步出错。
      

  3.   

    经过测试
    2.3.7版本的android,网上已有的代码可以实现自动配对
    4.0以上,测试了4.04和4.1.2,直接用已有的代码没法实现自动配对。楼主还在弄这个问题么?讨论下。
      

  4.   

    Android4.1 上验证结果,是还会弹出对话框啊,调用函数creatBond会返回false ,楼主接贴啊