作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用广播接收器来检测耳机按钮的点击。下面是广播接收器的代码。
public class HeadSetButtonStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_MEDIA_BUTTON)) {
KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event != null) {
int action = event.getAction();
if (action == KeyEvent.ACTION_DOWN) {
Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
EventBus.getDefault().post(new HeadSetButtonEvent("1"));
}
}
}
}
}
它在 API 22( Lollipop )上工作正常,但在 API 23(棉花糖设备)上不起作用。我试图查看 stackoverflow,但没有找到任何东西。
最佳答案
改用 int
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
int intKey = event.getKeyCode();
}
您可能会为 1 个按钮获得 2 个不同的 int 值。
关于Android - 用于检测耳机按钮点击的广播接收器不适用于 API 23(棉花糖),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587287/
我是一名优秀的程序员,十分优秀!