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() { true を返します。}

  1. マニフェストに KeyEvent を含める

    < アクション android:name="com.sonyericsson.extras.aef.control.KEY_EVENT" />

  2. (オプション) アプリは戻るボタン イベントを受け取るため、stopRequest() を呼び出してアプリケーションの終了を処理する必要があります。たとえば、ユーザーがアプリのメイン メニューで [戻る] ボタンをタップすると、AdvancedLayout はこの exit メソッドを呼び出します。

于 2015-11-18T14:04:44.273 に答える