1

我正在参与一个使用 smarteyeglass 扩展增强现实应用程序的项目,但我遇到了问题。我不知道为什么当我按下 smarteyeglass 上的后退按钮时,我无法获得 KEY_EVENT

“onReceive:com.sonyericsson.extras.aef.control.KEY_EVENT而不是它我收到 “onReceive:com.sonyericsson.extras.aef.control.TOUCH_EVENT ”和“onReceive:com.sonyericsson.extras.aef.control.PAUSE ”和“onReceive:com.sonyericsson.extras.aef.control.STOP ”。

所以我使用了示例代码 AdvancedLayouts 并且它可以工作。我不知道我做错了什么。获取按键事件的代码与 AdvancedLayouts 的按键事件代码相同。

我在 AndroidManifest.xml 上添加了 Key_Event

@Override
public void onKey(final int action, final int keyCode, final long timeStamp) {

    if (action == Intents.KEY_ACTION_RELEASE && keyCode == Control.KeyCodes.KEYCODE_BACK) {
        Log.d(Constants.LOG_TAG, "onKey() - back button intercepted.");
        return;
    }

    if (!showingDetail) {
        stopRequest();
    }

}
4

1 回答 1

0

您可以使用 HelloEvents 示例快速查看返回按钮的 KeyEvent。

如果您想在自己的项目中实现它,请检查您的项目中是否有以下实现。

  1. 在 RegistrationInformation 类中有“controlInterceptsBackButton”覆盖方法。

@Override public boolean controlInterceptsBackButton() { return true; }

  1. 在清单中有 KeyEvent

    <action android:name="com.sonyericsson.extras.aef.control.KEY_EVENT" />

  2. (可选)由于您的应用将接收返回按钮事件,您需要通过调用 stopRequest() 来处理应用退出。例如,当用户在应用程序的主菜单中并点击返回按钮时,AdvancedLayout 会调用此退出方法。

于 2015-11-18T14:04:44.273 回答