2011-10-05 62 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);