我正在尝试使用kivy构建Android应用程序。我如何隐藏我的应用程序,但仍像后面的那样让它在后台运行?
from kivy.config import Config
Config.set('graphics', 'fullscreen', 'fake')
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
button = Button(text="Exit", size_hint=(None, None))
button.bind(on_press=exit)
return button
if __name__ == '__main__':
MyApp().run()
答案 0 :(得分:7)
如果你想在后台实际进行计算,你需要使用Android服务。 Python-for-android可以做到这一点,相关文档是here(old_toolchain)。有关新的工具链方法,请参阅here。
如果您只是希望您的应用程序不能完全关闭(这样每次都不会使用启动画面等完全重启),您只需要在App类中添加on_pause
方法,它应该返回True
。您也可以在此方法中执行任何预暂停操作。但是,应用程序并没有真正继续运行,只是保持内存状态。
在后一种情况下,请注意android可以并且有时会在暂停状态下杀死应用程序。这是应用程序处理方式的正常部分,您无法避免,因此您应该在on_pause
方法中保存任何重要状态。
答案 1 :(得分:0)
正如Inclement已经提到的,你需要为此启动一个Android服务。 This kivy planet post(在您提出问题后出现)详细介绍了如何创建程序,服务以及让它们相互交互。