【问题标题】:application starts from beginning after kindle autolockskindle自动锁定后应用程序从头开始
【发布时间】:2012-08-27 13:25:06
【问题描述】:

我有一个必须在 kindle fire 中运行的应用程序。

应用程序运行良好,但在kindle自动锁定后,应用程序从头开始,而不是从应用程序在自动锁定之前的位置启动。

为什么会这样?

【问题讨论】:

    标签: android kindle-fire


    【解决方案1】:

    确保您正在保存应用程序的状态。

    Android 中的活动有一个非常特殊的生命周期。每当将应用程序置于后台时,它会调用onPause(),当您将其重新显示时,会调用onResume()

    因此,您需要在调用 onPause()onStop() 时保存状态并在 onCreate()onResume() 上加载状态

    有关状态的更多信息,请阅读here

    编辑: 也可以看看onSaveInstanceState()

    【讨论】:

    • 谢谢,但你能提供一些代码来保存最后一个实例状态吗?实际上我在片段中有一个网格视图。图像通过 sm 链接下载到网格视图中。此时如果我自动锁定屏幕...在 InitGridView() 方法中出现 NullPointer 异常。
    • 终于得到了保存片段最后状态的代码 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState);设置保留实例(真); }
    【解决方案2】:

    试试:

    android:configChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "screenLayout", "fontScale", "uiMode",
                                 "orientation", "screenSize", "smallestScreenSize"]
    

    在清单中并为活动中的 onConfigChange 创建一个覆盖函数。

    【讨论】:

      【解决方案3】:

      终于得到了一个代码,它保存了 kindle/galaxy 标签自动锁定后片段的最后状态。 @覆盖 public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); 设置保留实例(真); }

      【讨论】:

        猜你喜欢
        • 2016-03-25
        • 1970-01-01
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        • 2013-01-02
        • 1970-01-01
        • 2018-04-07
        相关资源
        最近更新 更多