智能手表2应用程序崩溃手表打开菜单

时间:2014-05-04 21:30:24

标签: android sony sony-smartwatch

我在市场上有一款智能手表2应用程序已经运行了好几个月,但最近它在上下文菜单打开后开始崩溃。

onKey代码如下所示:

@Override
public void onKey(final int action, final int keyCode, final long timeStamp) {
    // Menu button click
    if (action == Control.Intents.KEY_ACTION_RELEASE
            && keyCode == Control.KeyCodes.KEYCODE_OPTIONS) {
        showMenu(mMenuItemsText);
    }
}

(mMenuItemsText在类级别定义并在构造函数中实例化:

    mMenuItemsText[0] = new Bundle();
    mMenuItemsText[0].putInt(Control.Intents.EXTRA_MENU_ITEM_ID, MENU_ITEM_REVERSE_RATE);
    mMenuItemsText[0].putString(Control.Intents.EXTRA_MENU_ITEM_TEXT, context.getResources().getString(R.string.converter_menu_reverse_rate));

当我点击我的应用程序中的监视菜单按钮时,菜单会打开,然后一秒钟之后,手表会在开始备份并重新连接到手机之前崩溃并断开与手机的连接。 logcat和手机中没有任何东西没有显示崩溃提示,似乎完全没有意识到手表已经崩溃。

如果我将Log.d语句放在上面的每一行上然后它们都显示在logcat中,它似乎在菜单完成“刷入”动画后发生。

认为问题出现在utils应用程序中,我尝试用相同的代码替换showMenu调用以直接发送菜单意图:

@Override
public void onKey(final int action, final int keyCode, final long timeStamp) {
    // Menu button click
    if (action == Control.Intents.KEY_ACTION_RELEASE
            && keyCode == Control.KeyCodes.KEYCODE_OPTIONS) {
        Intent intent = new Intent(Control.Intents.CONTROL_MENU_SHOW);
        intent.putExtra(Control.Intents.EXTRA_MENU_ITEMS, mMenuItemsText);
        sendToHostApp(intent);
    }
}

但是我遇到了同样的问题。我在市场上有另一个SW2应用程序使用相同的代码,它工作正常。我完全不知道如何找到问题,因为我无法进入Eclipse中的代码。

2 个答案:

答案 0 :(得分:0)

我有同样的问题。我的应用程序中有几个菜单,但只有其中一个菜单会使Smartwatch 2崩溃。它现在每次都会发生,许多用户也会报告。最近的固件更新后问题出现了。所以希望它将在新的固件或更新的SDK版本中修复。

我的问题现已在索尼的最新固件中修复

答案 1 :(得分:0)

此问题将在即将发布的1.4.54主机应用软件中修复,将在未来几天内发布。问题与支持的触摸区域数量有关,在更新中已从25个增加到30个。