如何在 chaquopy 中启动 startActivity

Posted

技术标签:

【中文标题】如何在 chaquopy 中启动 startActivity【英文标题】:how start startActivity in chaquopy 【发布时间】:2021-12-10 05:38:52 【问题描述】:

这段代码

form java import jclass
Intent = jclass('android.content.Intent')
uri = jclass('android.net.Uri')
intent = Intent(Intent.ACTION_CALL)
intent.setData(uri.parse("tel:" + "505"))
activity.startActivity(intent)

这个错误 android.appcompat.app.AppCompatActivity。 startActivity 不能应用于 (JavaClass, JavaClass):选项是 void android.app.Activity。 startActivity (android.content.Intent),无效的 android。 app.Activity.startActivity(android.content.Intent, android.os.Bundle)

【问题讨论】:

【参考方案1】:

看起来您可能将一个类与该类的对象混淆了。为了避免这种情况,给类命名大写,对象小写是个好主意。我看到你在这里用Intentintent 做到了这一点,但没有用uri

但是,我不认为此代码可能是给定错误消息的原因。您确定自上次编辑代码后重新安装了该应用程序?你确定堆栈跟踪行号是指这段代码,而不是对startActivity的不同调用吗?

【讨论】:

当像这样使用 kivy import avtivity ->从 plyer.platforms.android 导入活动但在 chaqoupy 中如何做到这一点......对不起,英语写得不好 能否举个简单的例子使用startActivity 如何获取活动实例将取决于 Python 代码运行的上下文。如果您完全用 Python 编写活动(我们不再推荐),那么它将成为任何活动方法中的self 变量。或者,如果您从 Java 或 Kotlin 调用此代码,则可以将活动作为参数传递。

以上是关于如何在 chaquopy 中启动 startActivity的主要内容,如果未能解决你的问题,请参考以下文章

颤振,Chaquopy 示例

如何使用 chaquopy 在颤振中包含 python .py 文件?

如何在使用 Chaquopy 时在 android 中显示加载动画

Chaquopy 不支持 AIML

Android 从程序启动startActivity到生命周期变化的过程

startActivity(this, OtherActivity.class) 如何使用 Context 对象启动一个活动?