建立通话,如何连接蓝牙耳机SCO
来源:互联网 发布:湘北vs爱和学院数据 编辑:程序博客网 时间:2024/04/28 12:14
1)通话之前,ACL是连接好的。在PoneApp里用了bluetoothhandfree这个类.在onCreate方法中,定义了bluetoothhandfree的对象,并把CM的信息传给了bluetoothhandfree类里。
if (BluetoothAdapter.getDefaultAdapter() != null) {
// Start BluetoothHandsree even if device is not voice capable.
// The device can still support VOIP.
mBtHandsfree = BluetoothHandsfree.init(this, mCM);
startService(new Intent(this, BluetoothHeadsetService.class));
} else {
// Device is not bluetooth capable
mBtHandsfree = null;
}
2)有电话被激活时,PhoneApp收到由PhoneProxy发送的intent ACTION_RADIO_TECHNOLOGY_CHANGED.
else if (action.equals(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED)) {
String newPhone = intent.getStringExtra(Phone.PHONE_NAME_KEY);
Log.d(LOG_TAG, "Radio technology switched. Now " + newPhone + " is active.");
initForNewRadioTechnology();
}
3)在initForNewRadioTechnology私有方法中
if (mBtHandsfree != null) {
mBtHandsfree.updateBtHandsfreeAfterRadioTechnologyChange();
}当RadioTechnology有变化时,交由bluetoothhandfree处理;
4)BluetoothHandfree处理:
void updateBtHandsfreeAfterRadioTechnologyChange() {
if (VDBG) Log.d(TAG, "updateBtHandsfreeAfterRadioTechnologyChange...");
mBluetoothPhoneState.updateBtPhoneStateAfterRadioTechnologyChange();
}
mBluetoothPhoneState.updateBtPhoneStateAfterRadioTechnologyChange()的处理:
//Register all events new to the new active phone
mCM.getDefaultPhone().registerForServiceStateChanged(mStateChangeHandler,SERVICE_STATE_CHANGED, null);
mCM.registerForPreciseCallStateChanged(mStateChangeHandler,PRECISE_CALL_STATE_CHANGED, null);
mCM.registerForCallWaiting(mStateChangeHandler,PHONE_CDMA_CALL_WAITING, null);
5)BluetoothHandfree处理注册的消息,在有变化时;
handlePreciseCallStateChange,这个方法将处理响铃和通话和蓝牙相关的东西,包括连接SCO,用AudioManager设置声音通道等。
- 建立通话,如何连接蓝牙耳机SCO
- 建立到蓝牙耳机的连接
- 蓝牙耳机拨打电话和VOIP通话两种方式对于上层来说创建SCO过程的区别
- Android与蓝牙耳机建立连接的分析
- Android与蓝牙耳机建立连接的分析
- Android与蓝牙耳机建立连接的分析
- Android跟蓝牙耳机建立连接有两种方式
- 关于蓝牙耳机通话,切换声音路径
- 连接蓝牙耳机过程
- windows10连接蓝牙耳机
- android 判断有线耳机、蓝牙耳机连接
- mt6735 [Audio Policy]连接蓝牙耳机,通话时声音路径切换到听筒或者喇叭,触屏时听不到触屏音
- IPhone4S与蓝牙耳机连接
- 笔记本电脑连接蓝牙耳机设备
- 树莓派3连接蓝牙耳机
- 经典蓝牙连接-蓝牙音箱或蓝牙耳机
- 蓝牙耳机与电脑连接篇
- 蓝牙耳机与电脑连接使用
- java 监听器
- TMS320F28335在Flash里面运行时不能设置断点的原因
- 《编译原理-龙书》练习第7章
- 通过MFC窗口获取方向键
- Java监听器Listener
- 建立通话,如何连接蓝牙耳机SCO
- java 监听器实现原理
- Qte中实现输入法窗口跟随光标移动功能
- windows同步对象小结
- 连接蓝牙耳机过程
- WINXP修改MAC地址
- Yii框架中CTreeView的用法实例与解说
- rhel5.4 安装svn
- IE6 bug终极修正