在以下页面上,我正在浏览 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);