我正在使用清单文件为ACTION_headSET_PLUG创建广播接收器.
但是当耳机连接/断开时,我无法接收广播,
我应该在清单文件中使用哪个权限才能接收ACTION_headSET_PLUG广播意图?
解决方法:
使用API 8,我在没有创建服务或请求额外权限的情况下调用了我的广播接收器.
您可以在主活动中定义一个内部类,类似于我在下面定义的类:
public class headSetbroadCastReceiver extends broadcastReceiver { @OverrIDe public voID onReceive(Context context, Intent intent) { // Todo auto-generated method stub String action = intent.getAction(); Log.i("broadcast Receiver", action); if( (action.compareto(Intent.ACTION_headSET_PLUG)) == 0) //if the action match a headset one { int headSetState = intent.getIntExtra("state", 0); //get the headset state property int hasMicrophone = intent.getIntExtra("microphone", 0);//get the headset microphone property if( (headSetState == 0) && (hasMicrophone == 0)) //headset was unplugged & has no microphone { //do whatever } } } }
然后,动态或静态注册您的广播接收器.我在Activity的onCreate()方法中动态注册了我的:
this.registerReceiver(headsetReceiver, new IntentFilter(Intent.ACTION_headSET_PLUG));
确保使用Context的unregisterReceiver取消注册broadcastReceiver.就我而言,我在onDestroy()方法中做到了这一点.应该这样做.
总结以上是内存溢出为你收集整理的android – 为了在广播接收器中获得ACTION_HEADSET_PLUG所需的权限全部内容,希望文章能够帮你解决android – 为了在广播接收器中获得ACTION_HEADSET_PLUG所需的权限所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)