Kivy应用在Android上锁屏后关闭,怎样避免?
我最近开始学习kivy框架,刚做了一个简单的计算器应用。我已经生成了一个.apk文件,并在安卓上运行,但遇到了一个问题。
当屏幕手动锁定或者因为时间自动锁定时,应用会自动关闭,之前输入的所有数据(数字)都会丢失,所以我每次都得重新启动应用并重新输入数字。
我想问问有没有办法避免这种情况。是不是需要在python代码或者kv语言文件中加一些代码?我希望当屏幕锁定后再解锁时,应用能保留之前的状态。
另外,我也尝试过直接从kivy启动器启动应用,而不是通过之前的.apk文件,但结果还是一样,所以我觉得这可能是python代码或kv语言代码的问题,而不是打包应用时使用buildozer工具的问题。
1 个回答
5
你需要为你的应用程序实现一个 on_pause
方法,具体内容可以参考 文档。
kivy 文档中的示例是
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
请注意,你不能保证你的应用状态会被保存——在应用暂停时,安卓系统可能会在没有任何提示的情况下关闭它。因此,确保在 on_pause
方法中保存你需要的数据。