gpt4 book ai didi

android - 索尼 SmartWatch2 : hooking back key

转载 作者:太空狗 更新时间:2023-10-29 13:27:56 26 4
gpt4 key购买 nike

在Sony SmartWatch2的控件扩展中,我可以通过onKey接收返回键,但是如何防止扩展终止?我想 Hook 返回键做一些处理,但是按返回键终止扩展。

在 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;
}

最佳答案

在“onBack()”方法中,对“stopRequest()”的调用是终止扩展的调用。在您的情况下,您应该将自己的逻辑放入此方法中,以便在不需要时不会调用“stopRequest()”。

关于android - 索尼 SmartWatch2 : hooking back key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com