在后台运行该应用程序

时间:2013-12-21 13:13:14

标签: android python kivy

我正在尝试使用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()

2 个答案:

答案 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(在您提出问题后出现)详细介绍了如何创建程序,服务以及让它们相互交互。