什么事件Kindle的“主页”按钮开始了?

时间:2012-04-14 15:48:41

标签: android kindle-fire

Kindle Fire底部有一个栏,包括一个“主页”按钮和一个“后退”按钮。

当我点击“后退”按钮时,我的应用程序的“onPause()”事件被调用。

当我点击“主页”按钮时,我的应用程序崩溃了。将显示一个Android对话框。它说我的应用程序意外停止了。我收到了一个“强制关闭”按钮。

Sooooo我需要处理哪些事件来防止这种情况发生。这只发生在我的应用程序上,而不是我下载的那些,所以是的,这是我,哈哈。

修改

根据this web page,我向应用添加了事件和祝酒,以便了解事情是如何运作的。当我单击Back按钮时,我看到onPause(),onStop()和onDestroy()方法产生的toast。当我点击主页按钮时,没有祝酒,只有崩溃。

解决

Akhil建议我看一下logcat。我没有运行模拟器,因为我的机器对Android开发似乎不够强大(或者我对模拟器的期望太高);启动它需要永远。无论如何,在弄清楚如何运行模拟器之后(并且第一次看logcat,哈)我看到我抛出了与序列化相关的异常。我现在要解决它。谢谢Akhil在正确的方向踢了一脚!

啊,当我点击Home时,模拟器 显示 onPause() toast,所以现实仍然按预期运行。

FINAL

该错误与我为使 onSaveInstanceState(Bundle savedInstanceState)方法工作而添加的序列化有关。基本上,我的应用程序(以及我转换为android的旧游戏)不可序列化,因此 onSavedInstanceState()中的此代码将无法编译:

savedInstanceState.putSerializable(GAME, game);

'游戏'是无害的,所以我在Game的类定义中添加了“implements Serializable”。但是,我忽略了将相同内容添加到Game中的私有类中。这就是引起异常的原因。

2 个答案:

答案 0 :(得分:0)

由于安全漏洞,无法在Android中拦截主页按钮。可用的选项是覆盖按下主页按钮并关闭应用程序时调用的onStop: -

@Override
    protected void onStop() 
    {
        super.onStop();
        //do whatever you want here
    }

答案 1 :(得分:0)

当您点击“后退”按钮时,系统会调用您应用的“onPause(), onStop(),onDestroy()”事件。

点击“主页< / strong>“按钮,您的应用”onPause(), onStop(),“将调用事件。

(这是一般情况,假设) 将日志语句放在onPause(), onStop()中,看看你收到错误的位置。