1. 程式人生 > >監聽耳機的插入和拔出問題

監聽耳機的插入和拔出問題

在接入容聯雲的視訊通訊預設第一次接入視訊的時候,是需要開啟擴音的,所以需要監聽耳機的插入和拔出問題。

程式碼如下:

第一步:清單檔案的配置

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