我试图在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'
任何人都知道为什么我会得到这个以及如何解决它?我无法在其他地方找到任何参考资料。
答案 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)函数。
希望我能帮助你!