我正在参与一个使用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();
}
}
答案 0 :(得分:0)
您可以使用HelloEvents示例快速查看KeyEvent for back按钮。
如果您想在自己的项目中实施它,请检查项目中是否有以下实施。
@覆盖 public boolean controlInterceptsBackButton(){ 返回true; }
在清单中加载KeyEvent
<动作android:name =" com.sonyericsson.extras.aef.control.KEY_EVENT" />
(可选)由于您的应用将接收后退按钮事件,您需要通过调用stopRequest()来处理应用程序退出。例如,当用户在应用程序的主菜单中并点击后退按钮时,AdvancedLayout会调用此退出方法。