在下一页上,我正在浏览BluetoothHeadset对象的android源代码: http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/bluetooth/BluetoothHeadset.java
现在在获取BluetoothHeadset对象后的代码中,我无法访问该方法:
public void phoneStateChanged(args...)
有谁知道为什么它无法访问?我尝试使用反射但没有效果......
我的代码:
protected BluetoothProfile.ServiceListener headsetProfileListener = new BluetoothProfile.ServiceListener()
{
@Override
public void onServiceConnected(int profile, BluetoothProfile proxy)
{
// mBluetoothHeadset is just a head set profile,
// it does not represent a head set device.
bluetoothHeadset = (BluetoothHeadset) proxy;
bluetoothHeadset.phoneStateChanged(...); //this method doesnt get autocompleted or recognised
}
};
编辑:我知道android文档中没有提到这个方法,但它可能在源代码中,也许是私有的,我也运行了一个声明函数的Cyanogen rom ......
这是一个试验蓝牙和发送通知的应用程序......
我也不习惯使用反射,所以问题可能在于:
bluetoothHeadset.getClass().getDeclaredMethod("phoneStateChanged", null);
答案 0 :(得分:0)
此功能不属于API的一部分:http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html
如果它不是已发布的API的一部分,那么您就不能指望它。它实际上可能不在你正在使用的框架版本中。