我最近开始使用kivy框架。我刚刚制作了一个简单的计算器应用程序。我已经成为了一个.apk并在android上运行它,但我有一个问题。
当屏幕同时手动锁定时,应用程序会自动关闭,丢失我之前介绍的所有数据(数字),因此我必须再次启动它并重新引入数字。
我的问题是,如果你知道某种方法可以避免这种情况。如果需要python代码或kv语言文件上的一段代码。我不知道,但我希望当屏幕锁定并解锁时,应用程序会保留其先前的状态。
PS:我也试过从kivy启动器启动应用程序,没有先前的.apk编译,但我得到了相同的结果,所以我认为这将是python代码或kv语言代码的麻烦,使用buildozer工具打包应用程序的过程中没有麻烦。
答案 0 :(得分:5)
您需要为您的应用实施on_pause
方法,如documentation中所述。
kivy docs的例子是
class TestApp(App):
def on_pause(self):
# Here you can save data if needed
return True
def on_resume(self):
# Here you can check if any data needs replacing (usually nothing)
pass
请注意,您永远无法保证您的应用状态会被保留 - 在处于暂停状态时,android可能会在没有警告的情况下将其终止。确保在on_pause方法中保存所需的任何数据。