android - Kivy:从主应用程序停止 android 服务

标签 android python service kivy pyjnius

如果下面是你如何使用 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()

最佳答案

如果你使用我推荐的 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()

关于android - Kivy:从主应用程序停止 android 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246866/

相关文章:

API 21 及更高版本中的 Android webview 加载失败

java - Eclipse 中的 Android 相机/网络摄像头模拟器不断崩溃

python - 来自 `gensim` 的 LDA(潜在狄利克雷分配)推理如何处理新数据?

python - k-means 中特征的权重

android - 如何在 Android 中模拟测试权限?

android - 将上传到驱动器帐户的权限授予其他用户

python - CGIHTTPRequestHandler 在 python 中运行 php 或 python 脚本

.net - 签名的程序集阻止我的服务启动

php - 如何使用 SSL/TLS 和/或消息级安全保护 RESTful php web 服务

linux - jsvc.exec 错误 : Still running according to PID file