监听耳机的插入和拔出问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luzhiquanandroid/article/details/65633042

在接入容联云的视频通讯默认第一次接入视频的时候,是需要打开扩音的,所以需要监听耳机的插入和拔出问题。

代码如下:

第一步:清单文件的配置

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



猜你喜欢

转载自blog.csdn.net/luzhiquanandroid/article/details/65633042
今日推荐