我遇到 startBluetoothSco 连接不够快的问题。我如何等待获得 SCO_AUDIO_STATE_CONNECTED 返回值,然后继续大声朗读我的消息。返回连接状态时,我已经大声朗读了一半的消息。如果我 sleep ,那么主要 Activity 就会停止,什么也不会发生。如您所知,我是 Android 的初学者。谢谢
最佳答案
这有点旧,但我想我还是会回答,因为我遇到了同样的问题。
设置接收器:
ScoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1) ==
AudioManager.SCO_AUDIO_STATE_CONNECTED) {
// SCO now connected
}
}
};
然后创建一个IntentFilter并注册receiver
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED);
this.registerReceiver(ScoReceiver, intentFilter);
然后启动SCO
am = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_COMMUNICATION);
am.startBluetoothSco();
当您使用完 SCO 后
am.stopBluetoothSco();
关于Android等待启动BluetoothSco SCO_AUDIO_STATE_CONNECTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24190838/