1

在我使用专有蓝牙设备的应用程序中,我正在努力自我纠正设备可能出现的一些问题。其中一个问题是当手机认为它已配对而设备没有配对时,它会拒绝连接,直到手机取消配对并重新配对。使用在此处找到的答案,我可以很好地在代码中工作,但我有点担心这是多么“安全”,因为我现在在我自己的源代码树中的 android.bluetooth 下有一个aidl。这在我对几部 2.2 和 2.3 手机的测试中似乎工作正常,但我是否愿意在未来的版本中重写,或者创建这个本地辅助工具实际上使我免受未来变化的影响?欢迎指点进一步阅读。

4

1 回答 1

3

看起来您链接到的答案是调用私有 API。这样做要小心,因为它们可能会在未来的 Android 版本中随时更改。

回答你的问题:

但我是否愿意在未来的版本中重写?

是的,因为这些私有 API 可能随时更改而无需任何通知,因为它们是私有的。

创建这个本地助手真的可以使我免受未来变化的影响吗?

不,它不会使你绝缘。他们可以在通知android.os.ServiceManagerandroid.bluetooth.IBluetooth不通知的情况下更改任何内容,这会破坏您在较新版本的 Android 中的代码。

我听起来有点重复,但要小心私有 API,它们将来可能会咬你。但是,听起来这可能是您执行此操作的唯一方法。

于 2011-10-10T14:59:38.793 回答