0

确定蓝牙耳塞何时向 Android 设备发送命令以继续在应用程序中再现音频的方式存在问题。

通过此代码可以轻松检查设备是否已断开连接并重新连接:

@Override
public void onReceive(Context context, Intent intent) {
       String action = intent.getAction();
               if (BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
                    switch (intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1)) {
                        case BluetoothHeadset.STATE_DISCONNECTED: {
                        }
                        case BluetoothHeadset.STATE_CONNECTED: {
                        }
                    }
                }

所以这是简单的事情在这里解释:Android文档

如果您使用耳塞,您将有一些额外的操作(例如,当您将它们从耳朵中移除时,Apple 会暂停音频源,当您按下它们上的按钮时,Mi 会暂停音频源等等......)。在这里,我们正在监听 AudioManager 的更新,当操作完成时,我们会得到 AudioManager.SCO_AUDIO_STATE_DISCONNECTED。

 if (AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED.equals(action)) {
                        switch (intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE,-1){
                            case AudioManager.SCO_AUDIO_STATE_DISCONNECTED: {

                            }
                            case AudioManager.SCO_AUDIO_STATE_CONNECTED: {
                                
                            }
                        }
                    }

当您再次按下芽上的按钮/将它们放入耳中时,问题就开始了。我应该寻找什么以及我应该寻找什么侦听器才能拦截此事件?如果是一个事件。在 onReceive 方法中,我没有从意图中得到任何操作。

我们应该继续复制,返回音频,但我无法注册任何与之相关的广播。

我究竟做错了什么?

4

0 回答 0