0

在我的应用程序中,我想在 android 中检测 BT 耳机或有线耳机。我从这个链接引用http://developer.android.com/guide/topics/connectivity/bluetooth.html代码。他们提到只有3.0及以上版本的android可以支持BluetoothHeadset和BluetoothProfile类。这有助于检测BT耳机。现在我想要 2.2(froyo) 中的相同功能。所以请任何人告诉我如何做同样的事情?

提前致谢。

4

1 回答 1

0

您可以通过反射使用 2.2 中的 3.0 API。但这可能会导致您的应用程序在某些情况下无法正常工作,在某些设备上表现出不可预测的等。

如果你还想尝试,请看这里:

如何通过反射使用蓝牙耳机类

简要说明:

名称反射用于描述能够检查同一系统(或自身)中的其他代码的代码。

例如,假设您在 Java 中有一个未知类型的对象,如果存在,您想对其调用“doSomething”方法。除非对象符合已知接口,否则 Java 的静态类型系统并非真正设计为支持这一点,但是使用反射,您的代码可以查看对象并确定它是否有一个名为“doSomething”的方法,然后调用它如果你想。

所以,给你一个 Java 中的代码示例(想象有问题的对象是 foo):

Method method = foo.getClass().getMethod("doSomething", null);
method.invoke(foo, null);

在上面的示例中,作者试图检测是否存在某些蓝牙类和方法,以便检测工作。如果它们存在,则使用它们。如果不是,那么您的代码必须通过通知用户或通过其他适合您的应用程序的适当机制来处理这种情况。

于 2012-11-02T11:10:50.870 回答