我有一个活动的ActivityInstrumentationTestCase2。
我测试一下,在onStop()方法中,当BACK键退出Activity时,会保存对设置的更改。
在我的测试中,我启动活动,修改设置,然后使用finish()停止活动。 我等待活动结束,然后检查SharedPreferences中保存的设置。
在使用Android 4.3的Nexus 7中,此测试永远不会失败。
在装有Android 4.1.2的三星S3中,它始终失败。
我尝试过使用不同的上下文,并且在SharedPreferences.Editor中使用commit()而不是apply(),但行为没有区别。
有什么想法吗?
答案 0 :(得分:0)
而不是以:
结束活动activity.finish();
你应该结束:
getInstrumentation()callActivityOnStop(活性);
我怀疑可能有更好的方法来结束活动并等待它退出,就像按下了Back键并然后调用onStop()一样。
“修复”修复了失败案例,但导致其他人失败。 如果我使用activity.finish(),它们似乎只能工作。