Как изящно закрыть приложение на Android?
У меня есть приложение с этим внутри:
Button:
text: "Close"
on_release: app.stop()
Это хорошо работает. Но, к сожалению, когда приложение выполняется на Android, оно останавливается, но не изящно, так как открывается диалоговое окно Android, сообщающее, что приложение было закрыто. И это не ожидаемое поведение нормального окончания.
Итак, мой вопрос: как изящно закрыть приложение на Android, чтобы не видеть это надоедливое диалоговое окно?
Ниже приведен вывод logcat:
I/python ( 4960): ANSWERS (on_stop in App) = None
I/python ( 4960): screen names = ['welcome']
I/python ( 4960): answers have been saved on disk
I/python ( 4960): closing the SQL connection...
I/python ( 4960): now returning True
I/python ( 4960): [INFO ] [Base ] Leaving application in progress...
I/python ( 4960): ANSWERS (on_stop in App) = None
I/python ( 4960): screen names = ['welcome']
I/python ( 4960): answers have been saved on disk
I/python ( 4960): closing the SQL connection...
I/python ( 4960): now returning True
I/python ( 4960): Python for android ended.
Как видите, метод App.on_stop(), по-видимому, был вызван дважды.
Спасибо за ваши идеи.
1 ответ
Вы переопределены on_stop()
метод вашего приложения? Попробуй это.
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.app import App
Builder.load_string("""
<MyWidget>:
BoxLayout:
Button:
text: "Close"
on_release: app.stop()
""")
class MyWidget(BoxLayout):
pass
class MyApp(App):
def build(self):
return MyWidget()
def on_stop(self):
return True
if __name__ == '__main__':
MyApp().run()