必须动态注册,否则无效监听
一、主要监听事件
1.监听有线耳机
Intent.ACTION_HEADSET_PLUG
android.intent.action.HEADSET_PLUG
2,监听蓝牙耳机
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED
二、代码实现

/**注册receiver*/public class HeadSetActivity extends AppCompatActivity {    private HeadSetReceiver mReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_head_set);        mReceiver = new HeadSetReceiver();        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction(Intent.ACTION_HEADSET_PLUG);        intentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED);        registerReceiver(mReceiver, intentFilter);    }    @Override    protected void onDestroy() {        super.onDestroy();        /**        销毁receiver        */        if (mReceiver != null) {            unregisterReceiver(mReceiver);        }    }
/**receiver监听*/public class HeadSetReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        String action = intent.getAction();        if (BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {            BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();            if (BluetoothProfile.STATE_DISCONNECTED == adapter.getProfileConnectionState(BluetoothProfile.HEADSET)) {                //Bluetooth headset is now disconnected            }        } else if ("android.intent.action.HEADSET_PLUG".equals(action)) {            if (intent.hasExtra("state")){                if (intent.getIntExtra("state", 0) == 0){                    Toast.makeText(context, "headset not connected", Toast.LENGTH_LONG).show();                }                else if (intent.getIntExtra("state", 0) == 1){                    Toast.makeText(context, "headset connected", Toast.LENGTH_LONG).show();                }            }        }    }

更多相关文章

  1. android处理Back键Home键和Menu键事件
  2. Android 手机切屏事件
  3. Android中的双击事件,可扩展至多击事件
  4. Android触摸事件总结
  5. Android长按事件和点击事件问题处理,OnItemLongClickListener和On
  6. Android触摸事件分发机制(1)之View
  7. Android事件分发机制研究
  8. Android 4.0 事件输入(Event Input)系统
  9. android中的事件总线

随机推荐

  1. android 实现透明按钮
  2. Android中的permission汇总(SDK1.5)
  3. Android(安卓)开发环境下载地址 -- 百度
  4. Android(安卓)SDK Platforms
  5. android相对布局简介
  6. Android使用WebView来显示天气预报
  7. Android(安卓)应用发布准备
  8. Android(安卓)Studio使用教程(二)
  9. Android(安卓)弹出窗口 PopupWindow
  10. 最封闭的开源系统:Android