監聽耳機的插入和拔出問題
阿新 • • 發佈:2018-12-15
在接入容聯雲的視訊通訊預設第一次接入視訊的時候,是需要開啟擴音的,所以需要監聽耳機的插入和拔出問題。
程式碼如下:
第一步:清單檔案的配置
<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(); }