手机android 耳机插拔事件头小有什么工具可以助插拔android 耳机插拔事件不伤手

出处:http://blog.csdn.net
AudioManager就有这个方法:
isWiredHeadsetOn();
如果插入了耳机,就返回true,否则
当然,要加个权限,不然一直是返回false。
&uses-permission android:name=&android.permission.MODIFY_AUDIO_SETTINGS& /&
开始我追了好久的源码。发现了实时检测耳机插入和拔出的过程,不过对我的需求来说帮助不是很大。
实时检测耳机插入和拔出:
每当插入和拔出耳机时,系统都会发送Intent广播, 所以,只需要用一个receiver把这个广播intent(获取的action是:“android.intent.action.HEADSET_PLUG”)截获就好。
这个receiver必须要用代码注册,而不能写在manifest里面用写入内存的方式。
在Android下实现检测耳机插入和拔出,也即建立一个Broadcast Receiver,监听“android.intent.action.HEADSET_PLUG”广播
但直接在AndroidManifest.xml中添加一个&receiver&标签是无效的,如:
&receiver android:name=&.HeadsetPlugReceiver&&
&intent-filter&
&action android:name=&android.intent.action.HEADSET_PLUG& android:enabled=&true&&&/action&
&/intent-filter&
&/receiver&
你会发现Receiver的onReceive事件永远不会被触发,解决方法就是手动编写代码注册该广播。
首先,创建一个BroadcastReceiver的子类,用于监听耳机插入和拔出:
public class HeadsetPlugReceiver extends BroadcastReceiver {
private static final String TAG = &HeadsetPlugReceiver&;
public void onReceive(Context context, Intent intent) {
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();
然后,在需要监听该事件的Activity中的onCreate()中注册监听该广播,同时不要忘记在onDestroy()中注销监听该广播:
public class TestHeadSetPlugActivity extends Activity {
private HeadsetPlugReceiver headsetPlugR
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* register receiver */
registerHeadsetPlugReceiver();
private void registerHeadsetPlugReceiver() {
headsetPlugReceiver = new HeadsetPlugReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(&android.intent.action.HEADSET_PLUG&);
registerReceiver(headsetPlugReceiver, intentFilter);
public void onDestroy() {
unregisterReceiver(headsetPlugReceiver);
super.onDestroy();
如上这样就可以实现检测耳机插入和拔出了。
参考:/code-snippet/970/android-detect-user-shifou-cha-erji
作者:Jerome_XX 发表于 23:51:24
阅读:29 评论:0
相关 [android 代码 手机] 推荐:
- CSDN博客移动开发推荐文章
AudioManager就有这个方法:
isWiredHeadsetOn();. 如果插入了耳机,就返回true,否则. 当然,要加个权限,不然一直是返回false. 发现了实时检测耳机插入和拔出的过程,不过对我的需求来说帮助不是很大. 实时检测耳机插入和拔出:. 每当插入和拔出耳机时,系统都会发送Intent广播, 所以,只需要用一个receiver把这个广播intent(获取的action是:“android.intent.action.HEADSET_PLUG”)截获就好. 这个receiver必须要用代码注册,而不能写在manifest里面用写入内存的方式. 在Android下实现检测耳机插入和拔出,也即建立一个Broadcast Receiver,监听“android.intent.action.HEADSET_PLUG”广播.
- CSDN博客推荐文章
学习android开发已经有很长时间了,但是有时代码却很少用规范的模式进行书写,下面就简要的总结了自己学习的代码规范. 一、关于一些常量值资源的书写规范. 颜色值有RGB和透明信息Alpha组成,以#开头, 形式有 #RGB
#AARRGGBB. 一般存储于res/values/colors.xml 中
必须包含的头文件(&?xml version=&1.0& encoding=&utf-8&?&)和一个根节点(&resources&&/resources&).
- iDesperadO - WindStorm
本文提供排版更佳的PDF版本下载. JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁. 代码编写者即可以使用JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码. 这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架中,获得高性能高效率的同时保证了代码框架的高抽象性. 在Android中,仅有以下类库是允许在JNI中使用的:. JNI本身仅仅是一个把两者融合的工具,作为编程者需要做的,就是在Java代码和Native代码中按照固定的格式告诉JNI如何调用对方.
- 谷安——谷奥Android专题站
Google 宣布了 Android 4.0.3,该版本的源码目前已经推送到
AOSP 上,这是目前最新版本的
Ice Cream Sandwich. 这是首次推送了 4 个不同的版本,包括 Motorola
Nexus S 和两个
Galaxy Nexus 版本. 这也是首次包含 Verizon 版设备的 AOSP 发布,首次针对非 Nexus 设备和平板的发布. Googler Jean-Baptiste Queru 称这个最新的版本是“有史以来最好的版本”. 谷安——谷奥Android专题站 ( http://android.guao.hk ), 2011.
- 傲慢的上校的专栏
不知不觉中,就收集了超过95条的自己感觉有意思的代码片段,分为五篇文章:
android有用代码片段、
Android有用代码片段(二)、
Android有用代码片段(三)、
Android有用代码片段(四)、. Android有用代码片段(五). 这五篇,今天,开始第六篇的整理. 这里解释一下,因为一、二、三都是每个有20个片段,但是在四中,由于第70个代码过长,所以在第四篇中,只有10个片段. 九十六、java.util.MissingFormatArgumentException 错误.
在有站位符的打印语句中,经常会犯下一个错误.
- 博客园_首页
这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用.   欢迎转载,但请保留文章原始出处:) .     博客园:.     农民伯伯:
. 1、精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕) . 2、判断是否是平板(官方用法). 3、文字根据状态更改颜色 android:textColor .
放在res/color/目录下. 4、背景色根据状态更改颜色 android:backgroup.
如果直接给背景色color会报错. 5、启动APK的默认Activity.
- 博客园_首页
  上一篇博文:
Android WebView使用基础已经说了一些Android中WebView的基本使用.   本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用.   (因为本人对Web开发并不是很熟悉,所以如果有哪些地方说得不对,还请指正. 在WebView中使用JavaScript.   如果你想要载入的页面中用了JavaScript,你
必须为你的WebView使能JavaScript.   一旦使能之后,你也可以自己创建接口在你的应用和JavaScript代码间进行交互. 前情提要:使能JavaScript.   上一篇文章已经说过,可以通过.
Codelab for Android Design Support Library used in I/O Rewind Bangkok session----Make your app fancy with few lines of code. 【翻-双语】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏. 目前,我相信,没有任何 Android 开发者不知道
Material Design的,因为它的设计在过去的一年震惊了世界,正式的变成了一个设计理念. 令人惊讶的是,在 Android 应用中材料设计是不容易实现的,因为材料设计的 UI 组件
如: Floating Action Button (FAB) 在低于 Android L 系统上是不可用的.
- 移动开发 - ITeye博客
关注微信号:javalearns
随时随地学Java. 这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个Android App的性能提升还是有作用的,只是不能较大幅度的提升性能而已. 选择合适的算法与数据结构才应该是你首要考虑的因素,在这篇文章中不会涉及这方面. 你应该使用这篇文章中的小技巧作为平时写代码的习惯,这样能够提升代码的效率. 原文: /training/articles/perf-tips.html. 原翻译地址:http://hukai.me/android-training-course-in-chinese/performance/performance-tips.html.
- Alex Yu - Solidot
51开源社区 写道 &HTC Desire手机在经过简单的破解步骤后,已经可以相对稳定地运行以桌面应用为主的Linux操作系统Ubuntu. 破解方法是由一位论坛ID叫“Bergfex”的开发者发布的. 整个破解过程十分简便,仅需要在指定的文件夹——如SD卡的根目录和电脑的某个位置——中加载相应的zip文件,然后将手机设置成bootloader模式下加载,之后再将手机和电脑连接后重启即可. 目前Desire HD手机经过破解后大多数Ubuntu的功能都能够基本正常运作,但是在声音、USB连接功能、火狐以及软硬键盘等功能仍在调试改进当中. 不过包括触屏、短消息以及拨打电话等基本功能都正常运行,唯一美中不足的是没有按键声音.
坚持分享优质有趣的原创文章,并保留作者信息和版权声明,任何问题请联系:@。手机打开电池盖后有一个圆形接口,很小不是耳机喝和充电器,是干什么的,和刷机有关吗_百度知道
手机打开电池盖后有一个圆形接口,很小不是耳机喝和充电器,是干什么的,和刷机有关吗
我有更好的答案
维修用,非专业人士勿动
应该是散热的吧
挂手机练的吧?
不是,焊在电路板上的
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 android 监听耳机插拔 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信