android耳机插拔事件

        耳机插拔事件的例子网上几乎泛滥了,基本都是说在manifest里面注册广播无法接收到插拔事件广播,必须在java代码中注册广播。

       是否在manifest中注册不是本文的重点,重点是,我按照网上的做法没一次是成功的。先分享代码如下:

       

public class EarPhoneDemoActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_HEADSET_PLUG);
        registerReceiver(receiver, filter);
    }
    
    private BroadcastReceiver receiver = new BroadcastReceiver() {
		@Override
		public void onReceive(Context context, Intent intent) {
             System.out.println("state:::"+intent.getIntExtra("state", 0));
                 if(intent.getIntExtra("state", 0) == 2){ 
                	 System.out.println("in.........");
                 }else if(intent.getIntExtra("state", 0) == 0){
                	 System.out.println("out.........");
                 }  
		}
	};
}

      网上的所有例子,包括android api,都是说明:0的时候耳机未挂载,1的时候耳机挂载。

     我的手机是htc g14的,打印System.out.println("state:::"+intent.getIntExtra("state", 0));结果为:

     0  手机未挂载,2  手机挂载。

     因此觉得很奇怪,有待更多朋友进行认证。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值