【问题标题】:Kivy: Stop a android service from main AppKivy:从主应用程序停止 android 服务
【发布时间】:2018-02-25 01:50:24
【问题描述】:

如果下面是你如何用 Kivy 启动一个 android 服务,你如何从前端停止一个服务?我已经知道如何让服务在服务中自行停止,我想从前端停止它:

from android import AndroidService
service = AndroidService('myApp', 'status: active')
service.start('service started')
self.service = service

我尝试了以下方法,但它不起作用:

from jnius import autoclass
service = autoclass('org.renpy.android.PythonService').mService
service.stopService()

【问题讨论】:

    标签: android python service kivy pyjnius


    【解决方案1】:

    如果你使用我推荐的python-for-android较新的服务api,你可以通过pyjnius来管理服务,如下所示:

            from jnius import autoclass
            service = autoclass('your.service.name.ClassName')
            mActivity = autoclass('org.kivy.android.PythonActivity').mActivity
            service.stop(mActivity)
    

    如果在 android 模块中使用旧方法(目前还没有得到很好的支持),看起来您应该可以在 AndroidService 对象上调用 service.stop()

    【讨论】:

    • 嗨@incement,这行是什么意思:service = autoclass('your.service.name.ClassName') 是什么ClassName。你介意把它打出来作为任何随机的例子吗?
    • 对不起,我忘记链接到python-for-android.readthedocs.io/en/latest/services/…,它解释了如何设置服务名称。
    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2013-05-15
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    相关资源
    最近更新 更多