2017-01-31 3 views
0

Wie Sie vielleicht wissen, erfolgt der Wechsel zwischen den Aktivitäten in Android mit Instantiierung einer Absicht und starten Sie es. So etwas wieMehrere Aktivitäten in Kivy für Android

Intent i = new Intent(ThisActivity.this, AnotherActivity.class); 
startActivity(i); 

Dies geht ThisActivity-AnotherActivity, wenn die Absicht gestartet wird. Wenn Sie sich in AnotherActivity befinden, kehren Sie durch Drücken der Taste "Zurück" Ihres Android-Geräts zur vorherigen Aktivität zurück, die Sie zuvor ausgeführt haben (ThisActivity). Wie implementiert man ein solches Verhalten in Kivy?

Ich verwende Screen und ScreenManager zum Anzeigen und Navigieren zwischen verschiedenen Seiten, aber Drücken der "Zurück" -Taste beendet die App. Wie ich in der buildozer log beobachtet haben, wenn sie versuchen apk aus Kivy App zu machen,

Beginn: Intent {act = org.renpy.android.PythonActivity cmp = org.test.community/org.renpy.android .PythonActivity}

Es scheint, dass nur eine Aktivität namens PythonActivity erstellt wird. Ist es möglich, mehrere Aktivitäten zu erstellen oder die ähnliche Android-Aktivität Navigation in Kivy zu haben?

Antwort

1

Wir machen es mit Hilfe von pyjnius. Der folgende Code veranschaulicht Kartenabsicht und beantwortet Ihre Abfrage.

from jnius import cast 
from jnius import autoclass 

# import the needed Java class 
PythonActivity = autoclass('org.kivy.android.PythonActivity') 
Intent = autoclass('android.content.Intent') 
Uri = autoclass('android.net.Uri') 

# create the intent 
mapintent = Intent() 
mapintent.setAction(Intent.ACTION_VIEW) 
msg = "Delhi" 
mapintent.setData(Uri.parse("geo:0,0?q="+msg)) 
currentActivity = cast('android.app.Activity', PythonActivity.mActivity) 
currentActivity.startActivity(mapintent) 

In Kürze erhalten Sie weitere Beispiele finden here

Verwandte Themen