首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pyjnius (kivy)服务中不工作的服务自动重新启动

在pyjnius (kivy)服务中不工作的服务自动重新启动
EN

Stack Overflow用户
提问于 2021-02-13 15:08:59
回答 1查看 279关注 0票数 1

我试图用后台服务编写一个应用程序,我正在用buildozer编译它,它可以工作,有点像。问题是,在清除android上最近的应用程序之后,该服务不会自动重新启动!可能会有什么问题?我给你写了一个我想做的例子:

main.py

代码语言:javascript
复制
class ServiceApp(App):
    def startservice(self, *args):
        if platform == "android":
            from jnius import autoclass
            service = autoclass('org.codeclickers.testservice.ServiceMyservice')
            mActivity = autoclass('org.kivy.android.PythonActivity').mActivity
            argument = ''
            service.start(mActivity, argument)
            print("service Started!")

    def build(self):

        return Button(text="start service", on_press=self.startservice())

service.py

代码语言:javascript
复制
from jnius import autoclass
import time
from plyer import notification

if __name__ == "__main__":
    PythonService = autoclass('org.kivy.android.PythonService')
    PythonService.mService.setAutoRestartService(True)
    print("service Started")

    while True:
        notification.notify(title='service', message=str("Testing"))
        time.sleep(3)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-08-16 06:49:24

我认为您的服务不会因为service.py上的if __name__ == "__main__"条件而重新启动。毕竟,当您正在运行的脚本是主要的脚本时,这个条件就会得到满足。

我自己也不知道这些服务。但据我所知,主程序是main.py,被调用的程序是service.py,只有在主程序中执行,您的if __name__ == "__main__"条件和下面的代码才能工作。所以,我认为您只需要删除这个条件,然后您的服务就会重新启动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66186578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档