Android等待startBluetoothSco\u音频\u状态\u已连接

Android等待startBluetoothSco\u音频\u状态\u已连接,android,bluetooth,wait,text-to-speech,Android,Bluetooth,Wait,Text To Speech,我遇到startBluetoothSco连接不够快的问题。如何等待获取SCO_AUDIO_STATE_CONNECTED返回值,然后继续大声朗读我的消息。当连接状态返回时,我已经大声朗读了一半的消息。如果我睡觉,那么主要的活动就会停止,什么也不会发生。你可以看出我是一个Android的初学者。谢谢这有点老了,但我想我还是会回答的,因为我也有同样的问题 设置接收器: ScoReceiver = new BroadcastReceiver() { @Override public

我遇到startBluetoothSco连接不够快的问题。如何等待获取SCO_AUDIO_STATE_CONNECTED返回值,然后继续大声朗读我的消息。当连接状态返回时,我已经大声朗读了一半的消息。如果我睡觉,那么主要的活动就会停止,什么也不会发生。你可以看出我是一个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和register接收器

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();

这是一个有点旧,但我认为我会回答,因为我有同样的问题

设置接收器:

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和register接收器

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();