Kivy:从主应用程序停止 android 服务
Posted
技术标签:
【中文标题】Kivy:从主应用程序停止 android 服务【英文标题】:Kivy: Stop a android service from main App 【发布时间】: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()
【问题讨论】:
【参考方案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/…,它解释了如何设置服务名称。以上是关于Kivy:从主应用程序停止 android 服务的主要内容,如果未能解决你的问题,请参考以下文章
如何停止通过 buildozer 制作的 android 上的 kivy 应用程序崩溃。这些在计算机上运行良好
Kivy--Plyer--Android--在应用未运行时发送通知
如何将 kivy 应用程序连接到 Android 已安装的应用程序