1

我正在尝试在我的 Android (4.4) 手机上使用 SL4A 从 Tasker 调用 Python 脚本。我为此使用了 Run SL4A Script 任务。作为一个测试练习,我想从 Tasker 传递一个字符串并在 Python 中使用它(现在只是打印它)。

根据下面的链接,这可以通过在运行 SL4A 脚本任务中设置“传递变量”字段并使用 Python 中的 Android getIntent 方法来完成。(https://groups.google.com/forum/#!topic/taskerpro/mQIv1PBu3PU

这是我的 Python 脚本:

import android
droid = android.Android
params = droid.getIntent().result[u'extras']
print params[0]

但是,当我运行任务时,我在 SL4A 中收到以下错误: AttributeError: type object 'Android' has no attribute 'getIntent'

任何人都知道我为什么会得到这个以及如何解决它?我在其他地方找不到任何参考。

4

2 回答 2

0

我不知道从 Tasker 调用,但 Python 脚本在SL4A Release 6和 Python 解释器Py4A Release 5上独立运行。

如果您还没有安装所有东西,这里有一些我最近在 Android 开发者聚会上展示的幻灯片。

于 2014-04-17T15:29:23.117 回答
0

我认为您只是缺少 Android 导入中的括号。

我用:

导入安卓

机器人 = android.Android()

你也可以试试:

从安卓导入安卓

机器人 = 安卓()

这使得 Android 成为 python 中的正确对象,您应该能够正确调用 getIntent 和其他函数。

并且为了节省测试 android 模块是否正常工作的时间,我还添加了:

默认吐司(x):

x = str(x)

droid.makeToast(x)

然后您可以将变量传递给新定义的 toast(x) 函数。

希望我有帮助!

于 2014-05-06T00:39:43.573 回答