在Kivy for android

时间:2017-01-31 23:42:45

标签: android python kivy buildozer

您可能已经注意到,Android中的活动之间的切换是使用实例化Intent并启动它来完成的。像

这样的东西
Intent i = new Intent(ThisActivity.this, AnotherActivity.class);
startActivity(i);

当意图开始时,从ThisActivityAnotherActivity。 如果您在AnotherActivity,请按'返回' Android设备的按钮会返回到您之前的活动(ThisActivity)。如何在Kivy中实现这种行为?

我使用ScreenScreenManager来显示和浏览不同的网页,但是按下'返回'按钮退出应用程序。正如我在buildozer日志中观察到的那样尝试使用kivy应用程序制作apk时,

  

开始:意图{act = org.renpy.android.PythonActivity cmp = org.test.community / org.renpy.android.PythonActivity}

似乎只创建了一个名为PythonActivity的Activity。是否有可能创建多个活动或在Kivy中拥有类似的Android Activity导航体验?

1 个答案:

答案 0 :(得分:1)

我们是在pyjnius的帮助下完成的。以下代码说明了地图意图并回答了您的查询。

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)

您会找到更多示例here