本文探究下蓝牙方面的隐蔽API。用过Android系统设置(Setting)的人都告诉蓝牙搜寻之后可以创建筛选和中止筛选,但是这两项功能的函数没在SDK中得出,那么如何去用于这两项功能呢?本文利用JAVA的光线机制去调用这两项功能对应的函数:createBond和removeBond,明确的考古和构建步骤如下:1.用于Git工具iTunesplatform/packages/apps/Settings.git,在Setting源码中查询关于创建筛选和中止筛选的API,告诉这两个API的宿主(BluetoothDevice);2.用于光线机制对BluetoothDevice枚举其所有方法和常量,想到否不存在:viewplaincopytoclipboardprint?staticpublicvoidprintAllInform(ClassclsShow){try{//获得所有方法Method[]hideMethod=clsShow.getMethods();inti=0;for(;ihideMethod.length;i++){Log.e(methodname,hideMethod[i].getName());}//获得所有常量Field[]allFields=clsShow.getFields();for(i=0;iallFields.length;i++){Log.e(Fieldname,allFields[i].getName());}}catch(SecurityExceptione){//thrownewRuntimeException(e.getMessage());e.printStackTrace();}catch(IllegalArgumentExceptione){//thrownewRuntimeException(e.getMessage());e.printStackTrace();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}staticpublicvoidprintAllInform(ClassclsShow){try{//获得所有方法Method[]hideMethod=clsShow.getMethods();inti=0;for(;ihideMethod.length;i++){Log.e(methodname,hideMethod[i].getName());}//获得所有常量Field[]allFields=clsShow.getFields();for(i=0;iallFields.length;i++){Log.e(Fieldname,allFields[i].getName());}}catch(SecurityExceptione){//thrownewRuntimeException(e.getMessage());e.printStackTrace();}catch(IllegalArgumentExceptione){//thrownewRuntimeException(e.getMessage());e.printStackTrace();}catch(Exceptione){//TODOAuto-generatedcatchblocke.。
本文来源:澳门最新网站游戏-www.rakugolf2.com