从Tasker运行SL4A脚本时出现Python错误(AttributeError:类型对象'Android'没有属性'getIntent')

时间:2014-04-17 13:42:09

标签: android python sl4a tasker

我试图在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:类型对象' Android'没有属性' getIntent'

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

2 个答案:

答案 0 :(得分:0)

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

如果您尚未安装所有内容,请参阅我最近在Android开发人员聚会上发表的一些some slides

答案 1 :(得分:0)

我认为你只是错过了Android导入中的括号。

我用:

导入android

droid = android.Android()

您也可以尝试:

来自android import Android

droid = Android()

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

并节省时间测试如果android模块功能正常我还添加:

def toast(x):

x = str(x)

droid.makeToast(x)

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

希望我能帮助你!