在Monkeyrunner中启动活动时,我正试图在我的临时演员中传递一个Parcelable对象。脚本中的区域如下所示
user = FbUser()
extraDic = {}
extraDic['userName'] = 'Test'
extraDic['userId'] = 'me'
extraDic['userInfo'] = user
d.startActivity(extras=extraDic, component=runComponent + postActivity)
FbUser是我的java项目中实现Parcelable的对象。项目的bin已正确添加到Jython Monkeyrunner脚本中的sys.path中。当我调试脚本时,它正确地创建了FbUser对象,但是,当我在LogCat中打印出额外内容时,'userInfo'额外缺少...这似乎是因为类JythonUtils只会翻译PyString,PyFloat和PyInteger到String,Double和Integer,即使MonkeyDevice的文档声明你可以在extras字典中传递任何结构化数据类型。有没有人找到办法做到这一点?
答案 0 :(得分:1)
我刚刚遇到这个问题并阅读了消息来源,发现遗憾的是这是不可能的。
MonkeyDevice实例将其工作委托给am command by adb -。您可能已经知道,我可以从命令行接受的额外内容是quite limited。实际上它可以携带String,boolean或int。