Android 默认使用蓝牙A2DP协议听音乐,使用Headset协议用来接听电话。

早些NOKIA还飞黄腾达的时候,是可以用Headset协议听音乐的,那么Android是否能实现呢?

肯定是能实现的,这是必然的。

只是如果不考虑其他应用的交互的,这是相当简单的,而且只用调用SDK提供的方法就可以做到。

// sdk version 2.3.3AudioManager mAudio = (AudioManager)getSystemService(Context.AUDIO_SERVICE);//mAudio.setBluetoothScoOn(true);mAudio.startBluetoothSco();mAudio.setMode(AudioManager.MODE_IN_CALL);// mAudio.setBluetoothScoOn(false);mAudio.stopBluetoothSco();mAudio.setMode(0);

如果要考虑不跟其他应用状态冲突的话

连接单声道蓝牙耳机有以下状态

应用 普通 响铃 接通 挂断
Phone 不使用 不使用
使用 不使用
Music 使用(听音乐时 不使用
不使用
使用(恢复音乐)
FM 使用(听FM时 不使用
不使用
使用(恢复FM)

注意: 不使用 代表 不使用Headset协议

Phone 自己实现了Headset协议,不建议修改。只有新增Music、FM 的状态使用。

其实可以这样实现,监听Phone 状态改变当前的状态。

下面实现了一个例子,可以在使用的时候打开服务。

现已公开源码。

百度网盘下载(点此下载)

更多相关文章

  1. Android Bluetooth Low Energy(Android低功耗蓝牙)
  2. Android 设置状态栏及Activity横屏或竖屏。
  3. ANdroid之蓝牙
  4. Android获取屏幕高度、标题高度、状态栏高度详解
  5. Android底层开发之旅—蓝牙系统分析
  6. Android 蓝牙连接
  7. Android 沉浸式状态栏 头部可拉伸带有一键置顶功能
  8. Android Studio设置 标题栏隐藏, 状态栏隐藏, 改变状态栏文字颜
  9. Android 动态隐藏显示导航栏,状态栏

随机推荐

  1. android中能不能new Activity()对象引发
  2. Android开发便签7:如何让通讯录匹配N位号
  3. 【转】Android(安卓)签名详解
  4. android之getevent/sendevent/input
  5. Android中Handler的简析
  6. Android(安卓)性能测试实践(一)
  7. 分析android预装apk以及相关的实现手段
  8. android设置控件样式(边框颜色,圆角)和图片
  9. Android系统源代码情景分析 第3版
  10. 【2017年学习输出内容记录】Android系统