2013-08-01 179 views
1

在接下來的頁面,我瀏覽了Android的源代碼,BluetoothHeadset對象: http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/bluetooth/BluetoothHeadset.javaBluetoothHeadset - 無法訪問公共方法

現在得到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文檔中提到,但它可能是在源代碼中,也許是做私人的,也是我在何處運行函數聲明爲一個氰ROM ...

這是一個應用程序來嘗試與周圍的藍牙和發送通知...

而且我是新來使用反射,所以也許問題在於:

bluetoothHeadset.getClass().getDeclaredMethod("phoneStateChanged", null); 

回答