在Android上检测按下或释放(不按下和释放)耳机键

时间:2019-02-20 18:19:54

标签: android button release detect headset

欢迎来到我在这个论坛上的第一个问题。

我正在建立一个警报,通知SMS有关入室盗窃。

  1. 我在电话里放了杰克。
  2. 我用长电线连接门的GND和MIC触点。
  3. 当某人关闭或断开电路时,电话会发送一条短信。

借助BroadcastReceiver(下面的源代码),我可以轻松地检测到按下并释放有线耳机上的PLAY / PAUSE键。但是,仅在短按并释放 PLAY / PAUSE按钮之后,BroadcastReceiver才会启动。

我需要立即检测何时仅仅按下或仅仅释放耳机键。按下和释放之间的时间可能会很长,例如几天。不幸的是,检测电话或蓝牙上的传感器(AT命令)电源中断的解决方案不起作用。 Android是4.0.4。

    public class MediaButtonReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        String intentAction = intent.getAction();
        Log.i ("TAG_MEDIA", intentAction.toString() + " happended");
        if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
            Log.i ("TAG_MEDIA", "no media button information");
            return;
        }
        KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
        if (event == null) {
            Log.i ("TAG_MEDIA", "no keypress");
            return;
        }
        Log.i ("TAG_MEDIA", "Yes keypress = " + event);
        }

    }

0 个答案:

没有答案