在我的应用程序中,我想要检测android中的BT耳机或有线耳机。我从这个链接引用http://developer.android.com/guide/topics/connectivity/bluetooth.html代码。他们提到,只有安卓3.0及以上版本才能支持BluetoothHeadset和BluetoothProfile类。对BT耳机的检测有一定的帮助。现在我想在2.2(froyo).So相同的功能,请任何人可以告诉我如何做相同的?
提前谢谢。
发布于 2012-11-02 19:10:51
您可以通过反射使用2.2中的3.0API。但这可能会导致你的应用程序在某些情况下无法正常工作,在某些设备上出现不可预测的行为等。
如果你还想试试,请看这里:
How to use BluetoothHeadset class via reflection
简要说明:
名称反射用于描述能够检查同一系统(或其自身)中的其他代码的代码。
例如,假设您在Java语言中有一个未知类型的对象,并且您希望在其上调用一个“doSomething”方法(如果存在)。Java的静态类型系统实际上并不支持这种情况,除非对象符合已知的接口,但是使用反射,您的代码可以查看对象并找出它是否有一个名为“doSomething”的方法,然后,如果您想调用它,就调用它。
因此,在Java中给出一个这样的代码示例(假设有问题的对象是foo):
Method method = foo.getClass().getMethod("doSomething", null);
method.invoke(foo, null);在上面的示例中,作者试图检测是否存在某些蓝牙类和方法,以便检测工作。如果它们存在,则使用它们。如果不是,那么您的代码必须通过通知用户或通过适用于您的应用程序的其他适当机制来处理这种情况。
https://stackoverflow.com/questions/13193873
复制相似问题