博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android -- 检测耳机插入状态
阅读量:6001 次
发布时间:2019-06-20

本文共 1540 字,大约阅读时间需要 5 分钟。

原理                                                                                   

其实android系统在耳机插入和拔出的时候都会发送广播,所以我们要想检测耳机的状态只需要注册响应的BroadCastReceiver,对状态进行响应的判断就ok了。

这个广播的名字叫做:android.intent.action.HEADSET_PLUG

Code                                                                                   

package com.yydcdut.ear;import android.os.Bundle;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.view.Menu;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                //给广播绑定响应的过滤器          IntentFilter intentFilter = new IntentFilter();          intentFilter.addAction("android.intent.action.HEADSET_PLUG");          HeadsetReceiver headsetReceiver = new HeadsetReceiver();          registerReceiver(headsetReceiver, intentFilter);      }    //自己定义的广播接收器      public class HeadsetReceiver extends BroadcastReceiver {            @Override          public void onReceive(Context context, Intent intent) {              if (intent.hasExtra("state")) {                  if (0 == intent.getIntExtra("state", 0)) {                      Toast.makeText(context, "耳机未插入", Toast.LENGTH_SHORT).show();                  } else if (1 == intent.getIntExtra("state", 0)) {                      Toast.makeText(context, "耳机已插入", Toast.LENGTH_SHORT).show();                  }              }          }    }  }

我是天王盖地虎的分割线                

本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3909702.html,如需转载请自行联系原作者

你可能感兴趣的文章
Windows 8 Metro App开发[5]导航栏(AppBar)的使用
查看>>
shell expect
查看>>
Effective Java -- 使可变性最小化
查看>>
开发环境中Docker的使用
查看>>
Redis 分布式锁
查看>>
IBM、HPUX、Solaris不同之处
查看>>
kuangbin专题十六 KMP&&扩展KMP HDU3336 Count the string
查看>>
Python学习笔记——正则表达式基本概念
查看>>
verilog 里面,always和always@(*)有区别吗?
查看>>
86标准sql与92标准SQL用法区别
查看>>
SIO_KEEPALIVE_VALS 用户异常掉线检测
查看>>
Inno Setup入门(二)——修改安装过程中的图片
查看>>
服务器性能瓶颈分析方法(转载)
查看>>
JAVA学习笔记——JAVA基础语法(六)
查看>>
modelform实例学习
查看>>
EF CRUD
查看>>
初识python:time 模版
查看>>
mysql慢查询日志分析工具mysqldumpslow
查看>>
4.09.1
查看>>
电话本管理程序(实现增删改查功能)
查看>>