Android.bluetooth.IBluetooth.createBond()在4.2.1中找不到,但在较早的 *** 作系统版本中可用

Android.bluetooth.IBluetooth.createBond()在4.2.1中找不到,但在较早的 *** 作系统版本中可用,第1张

概述我有一些代码可以通过调用createBond()自动与蓝牙设备配对,注册一个用于 android.bluetooth.device.action.PAIRING_REQUEST的广播接收器,然后手动输入PIN码进行配对. 这已经很好,所有测试的设备到目前为止,Andoid 4.0,但今天我尝试这个在我的Nexus 7与Android 4.2.1并得到以下错误: java.lang.noSuchMe 我有一些代码可以通过调用createBond()自动与蓝牙设备配对,注册一个用于 android.bluetooth.device.action.PAIRING_REQUEST的广播接收器,然后手动输入PIN码进行配对.

这已经很好,所有测试的设备到目前为止,AndoID 4.0,但今天我尝试这个在我的Nexus 7与Android 4.2.1并得到以下错误:

java.lang.noSuchMethodException:androID.bluetooth.IBluetooth.createBond

他们实际上从库中删除了这个功能吗?

UPDATE

实际发生的是IBluetooth接口对象,我用来调用createBond没有被初始化.在以下代码中,尝试获取名为BTBinder的IBinder的行将在此过程失败导致BTInterface在结尾设置为null时返回null.所以现在我的问题是为什么在我的Nexus 7与AndroID 4.2.1做的调用来获取绑定返回null,但正确的5其他设备我测试过?

public static IBluetooth getBluetoothInterface(){    //Gets a bluetooth interface from private AndroID system API    IBluetooth BTInterface = null;    try    {        Class<?> ServiceManager = Class.forname("androID.os.ServiceManager");        Method getService = ServiceManager.getDeclaredMethod("getService",String.class);        IBinder BTBinder = (IBinder) getService.invoke(null,"bluetooth");        Class<?> IBluetooth = Class.forname("androID.bluetooth.IBluetooth");        Class<?>[] IBluetoothClasses = IBluetooth.getDeclaredClasses();        Class<?> IBluetoothClass0 = IBluetoothClasses[0];        Method asInterface = IBluetoothClass0.getDeclaredMethod("asInterface",IBinder.class);        asInterface.setAccessible(true);        BTInterface = (IBluetooth) asInterface.invoke(null,BTBinder);    }    catch (Exception e)    {        return null;    }    return BTInterface;}
解决方法 在AndroID 4.2中,他们更改了蓝牙堆栈的实现.

“AndroID 4.2引入了一种针对AndroID设备进行优化的新型蓝牙堆栈,由Google和broadcom合作开发的新蓝牙解决方案替代了基于BlueZ的堆栈,并提供了更好的兼容性和可靠性.

Nexus 7上的公开API有很多bt相关的东西不起作用.

总结

以上是内存溢出为你收集整理的Android.bluetooth.IBluetooth.createBond()在4.2.1中找不到,但在较早的 *** 作系统版本中可用全部内容,希望文章能够帮你解决Android.bluetooth.IBluetooth.createBond()在4.2.1中找不到,但在较早的 *** 作系统版本中可用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1133004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存