我在市场上有一款智能手表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中的代码。
答案 0 :(得分:0)
我有同样的问题。我的应用程序中有几个菜单,但只有其中一个菜单会使Smartwatch 2崩溃。它现在每次都会发生,许多用户也会报告。最近的固件更新后问题出现了。所以希望它将在新的固件或更新的SDK版本中修复。
我的问题现已在索尼的最新固件中修复
答案 1 :(得分:0)
此问题将在即将发布的1.4.54主机应用软件中修复,将在未来几天内发布。问题与支持的触摸区域数量有关,在更新中已从25个增加到30个。