重现该问题的步骤:
我正在使用带有Android 8.1.0的SM-T580 Android平板电脑。
也许这很有用,因为设备已使用模型(9点模型)锁定。
对此我有两个问题:
我创建了一个示例项目来重现该问题:https://github.com/Martin-Hogge/lock-restart-sample
以下是重现我上面解释的方案后的日志:
2019-02-25 10:17:23.549 20482-20482/com.example.testlock D/TEST_LOCK: Application onCreate
2019-02-25 10:17:23.694 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onCreate
2019-02-25 10:17:24.024 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onStart
2019-02-25 10:17:24.032 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onResume
2019-02-25 10:17:27.036 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onPause
2019-02-25 10:17:27.079 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onCreate
2019-02-25 10:17:27.109 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onStart
2019-02-25 10:17:27.114 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onResume
2019-02-25 10:17:27.646 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onStop
2019-02-25 10:17:29.104 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onPause
2019-02-25 10:17:29.132 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onStop
2019-02-25 10:17:34.297 20482-20482/com.example.testlock D/TEST_LOCK: SecondActivity onDestroy
2019-02-25 10:17:34.315 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onDestroy
2019-02-25 10:17:34.363 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onCreate
2019-02-25 10:17:34.449 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onStart
2019-02-25 10:17:34.455 20482-20482/com.example.testlock D/TEST_LOCK: MainActivity onResume
当我通过锁定屏幕重新打开应用程序时,我们可以看到MainActivity
和SecondActivity
都被破坏了。
感谢您的帮助。
答案 0 :(得分:0)
如果您仔细查看所提供的日志,则会发现两个活动都被调用onDestroy
。调用onDestroy
后,返回应用程序的唯一方法是重新启动应用程序(调用onCreate
)。
由于调用了onDestroy
,因此您需要将活动状态保存到永久存储(使用SharedPreferences
或设置文件,视需要而定)。< / p>