在接入容联云的视频通讯默认第一次接入视频的时候,是需要打开扩音的,所以需要监听耳机的插入和拔出问题。
代码如下:
第一步:清单文件的配置
<receiver android:name=".rlyun.service.HeadsetPlugReceiver"> <intent-filter> <action android:name="android.intent.action.HEADSET_PLUG" android:enabled="true"></action> </intent-filter> </receiver>
第二步:广播的完成
public class HeadsetPlugReceiver extends BroadcastReceiver { private static final String TAG = "HeadsetPlugReceiver"; @Override public void onReceive(Context context, Intent intent) { if (intent.hasExtra("state")){ if (intent.getIntExtra("state", 0) == 0){//未连接
//TODO 做自己想做的事情 ECDevice. getECVoIPSetupManager().enableLoudSpeaker(true); } else if (intent.getIntExtra("state", 0) == 1){//连接
//TODO 做自己想做的事情
ECDevice. getECVoIPSetupManager().enableLoudSpeaker(false); } } }}
第三步:在activity或者fragment里面进行广播的注册和销毁
//注册
@Override protected void onCreate() {registerHeadsetPlugReceiver();}private HeadsetPlugReceiver headsetPlugReceiver;
private void registerHeadsetPlugReceiver() { headsetPlugReceiver = new HeadsetPlugReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("android.intent.action.HEADSET_PLUG"); registerReceiver(headsetPlugReceiver, intentFilter); }@Override protected void onDestroy() { unregisterReceiver(headsetPlugReceiver); super.onDestroy(); }