android– 为了在广播接收器中获得ACTION_HEADSET_PLUG所需的权限

android– 为了在广播接收器中获得ACTION_HEADSET_PLUG所需的权限,第1张

概述我正在使用清单文件为ACTION_HEADSET_PLUG创建广播接收器.但是当耳机连接/断开时,我无法接收广播,我应该在清单文件中使用哪个权限才能接收ACTION_HEADSET_PLUG广播意图?解决方法:使用API​​8,我在没有创建服务或请求额外权限的情况下调用了我的广播接收器.您可以在主活动中定义

我正在使用清单文件为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所需的权限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存