首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回null的Intent.ACTION_HEADSET_PLUG

返回null的Intent.ACTION_HEADSET_PLUG
EN

Stack Overflow用户
提问于 2012-05-10 18:45:52
回答 1查看 362关注 0票数 1
代码语言:javascript
复制
public PluginResult execute(String action, JSONArray args, String callbackId) {         
  try {
    Intent intent = new Intent(Intent.ACTION_HEADSET_PLUG);
    String nm = intent.getStringExtra("name");
    String st1 = intent.getStringExtra("state");
    Log.v("nikhil","i="+intent+" name="+nm+" 2="+st1);

    return new PluginResult(PluginResult.Status.OK);

  } catch(Exception e) {            

    Log.e("MailApp", "Could not send email", e); 
  }
  return null; 
}

nm和st1一直处于null状态。即使耳机插上电源也是如此!

EN

回答 1

Stack Overflow用户

发布于 2012-06-13 04:16:11

当头戴式耳机插入或拔出手持设备时,安卓系统会触发Intent Intent.ACTION_HEADSET_PLUG。

您需要实现一个BroadcastReceiver来在此事件发生时捕获它。这是一个粘性事件,因此您可以使用以下快捷方式:

代码语言:javascript
复制
IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
Intent headsetState= this.registerReceiver(null, filter);
int state = headsetState.getIntExtra("state", -1);
String name = headsetState.getStringExtra("name");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10532391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档