2011-10-05 90 views
0

我試圖實現Android(HF方)免提藍牙配置文件。我已通過rfcomm成功連接,它允許我向/從AG發送/接收AT命令。但是聲音呢?在我已閱讀有關同步連接的文檔中,並嘗試接受來自SCO套接字的連接:實現自己的藍牙配置文件爲Android

int sock = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO) 

但是沒有任何反應。

這是一個正確的套接字類型,或者我需要與SCO不同的東西嗎?

+0

您是否成功實施了個人資料..? – Mudassir

+0

不,我沒有解決創建SCOlink的問題。 – Vbif

+0

有一些解決方法..? – Mudassir

回答

0

您可以從位於frameworks/base/core/java/android/bluetoothScoSocket.java類中獲取靈感。您會看到它調用本地功能而不是socket(AF_BLUETOOTH...)。正如電話應用所使用的那樣,您可以依靠它。

/** Connect this SCO socket to the given BT address. 
* Does not block. 
*/ 
public synchronized boolean connect(String address, String name) { 
    if (DBG) log("connect() " + this); 
    if (mState != STATE_READY) { 
     if (DBG) log("connect(): Bad state"); 
     return false; 
    } 
    acquireWakeLock(); 
    if (connectNative(address, name)) { 
     mState = STATE_CONNECTING; 
     return true; 
    } else { 
     mState = STATE_CLOSED; 
     releaseWakeLockNow(); 
     return false; 
    } 
} 
private native boolean connectNative(String address, String name);