• 检测耳机插入和拔出


    实时检测耳机插入和拔出:

    每当插入和拔出耳机时,系统都会发送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";    
          
            @Override    
            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();    
                }    
              }    
            }    
          
        }    
  • 相关阅读:
    soundtouch 变速算法matlab实现
    resample matlab实现
    hrtf virtual surround matlab实现
    hrtf 旋转音效matlab实现
    audio mixer
    schroeder reverb matlab实现
    HTML DOCTYPE文档类型举例说明
    window 连接双网
    linux 命令
    sqlserver 时间戳
  • 原文地址:https://www.cnblogs.com/qianyukun/p/6610780.html
Copyright © 2020-2023  润新知