2017-09-15 96 views
0

如果以下是如何使用Kivy啓動Android服務,您如何停止前端的服務?我已經知道如何使服務站本身的服務,我想從前端停止: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

如果使用蟒蛇換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()

+0

嗨@incement你是什麼意思的這一行:'service = autoclass('your.service.name.ClassName')'什麼是'ClassName'。你介意把它當作任何隨機的例子嗎? – Jeff

+0

對不起,我忘了鏈接到http://python-for-android.readthedocs.io/en/latest/services/#arbitrary-service-scripts,它解釋瞭如何設置服務名稱。 – inclement