在Android java中,如何长按蓝牙设备呼叫按钮?

时间:2011-10-17 10:47:48

标签: android button bluetooth

如何捕获(拦截)长按蓝牙设备呼叫按钮(android)?

2 个答案:

答案 0 :(得分:6)

您正在寻找的是android.intent.action.VOICE_COMMAND,这是一个活动意图,而不是接收者意图。您的清单中需要以下内容:

<activity android:name="LongPressActivity">
    <intent-filter>
        <action android:name="android.intent.action.VOICE_COMMAND"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

一旦您的活动开始,就会出现问题。 Voice Command应用程序中使用的大多数API都是隐藏的,因此您必须跳过火焰圈来访问它们。使用反射,或参见this series of articles

答案 1 :(得分:2)

你的意思是Intent.ACTION_CALL_BUTTON动作,而不是长按?这不存在,Android仅提供有限数量的标准操作,并且不包括长按物理按钮。

虽然可以通过覆盖活动类中的onKeyLongPress方法来打开自己的活动。

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_CALL) {
        // do your stuff here
        return true;
    }
    return false;
}