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(安卓)设置状态栏及Activity横屏或竖屏。
  2. Android(安卓)内存管理
  3. android应用安全——通信安全(android https)
  4. [置顶] android 自定义控件
  5. Android(安卓)Studio项目中使用 AndroidX支持库的相关配置说明
  6. Android(安卓)Theme主题样式开发注意点
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. android中的Handler(1)
  2. Android(安卓)渗透测试学习手册 第六章
  3. 构建Android电话相关的应用
  4. Android 音视频开发(五) : OpenGL ES API
  5. Application Fundamentals --1.2
  6. 在eclipse中添加插件Green UML
  7. Android自动化测试之MonkeyRunner工具(六)
  8. android学习——android text 属性大全
  9. Flutter下载更新App的方法示例
  10. 谈谈Ubuntu for Android