Sony SmartWatch2: перехват ключа назад

В контрольном расширении для Sony SmartWatch2 я могу получить ключ возврата через onKey, но как я могу предотвратить завершение расширения? Я хочу перехватить клавишу возврата, чтобы выполнить какой-то процесс, но нажатие клавиши возврата останавливает расширение.

В SampleAdvancedControlExtension кажется, что он блокирует кнопку «Назад» при запуске нового элемента управления, но я использую только один элемент управления.

public void onKey(int action, int keyCode, long timeStamp) {
    Log.v(SampleExtensionService.LOG_TAG, "onKey");

    if (action == Control.Intents.KEY_ACTION_RELEASE
            && keyCode == Control.KeyCodes.KEYCODE_BACK) {
        Log.d(SampleExtensionService.LOG_TAG, "onKey() - back button intercepted.");
        onBack();
    } else if (mCurrentControl != null) {
        super.onKey(action, keyCode, timeStamp);
    }
}

/**
 * Closes the currently open control extension. If there is a control on the
 * back stack it is opened, otherwise extension is closed.
 */
public void onBack() {
    Log.v(SampleExtensionService.LOG_TAG, "onBack");
    if (!mControlStack.isEmpty()) {
        Intent backControl = mControlStack.pop();
        ControlExtension newControl = createControl(backControl);
        startControl(newControl);
    } else {
        stopRequest();
    }
}

Хорошо, я понял проблему. Мне пришлось добавить следующий метод в классе RegistrationInformation.

@Override
public boolean controlInterceptsBackButton() {
    // Extension has it's own navigation, handles back presses.
    return true;
}

Ответы на вопрос(1)

Ваш ответ на вопрос