我想从另一个SL4A脚本中启动一个后台SL4A脚本(在远程设备上)。我可以通过运行以下命令从终端启动脚本:
$ am start -a \
com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT -n \
com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher -e \
com.googlecode.android_scripting.extra.SCRIPT_PATH /sdcard/sl4a/scripts/main.py
我无法在Python中将其转换为startActivity
调用。在
关于打开Twitter客户端的a different question的答案很好,但我不知道如何扩展该代码。例如,如何添加脚本路径,以及将com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher
行放在哪里?在
此函数将从另一个脚本内部启动任何SL4A脚本。在
第一个参数应该是指向要启动的脚本的路径。脚本可以是您安装了解释器的任何语言。在
第二个参数是可选的,应该是bool。它默认为
False
。它控制终端是否可见,以便您可以查看输出和错误。它不影响脚本是否有UI。在有一个gist for this code here。在
在多次失败的尝试之后,我现在在Ruby中实现了这一点——用这种方法生成JSON附加文件比用Python更容易。在
重要! 在命令行版本中,可以调用“com.googlecode.android\u脚本/.activity.ScriptingLayerServiceLauncher““
在脚本中,这称为“com.googlecode.android\u脚本.activity.ScriptingLayerServiceLauncher“,没有斜杠。从斜线出发撞毁了sl4a
[代码]
需要“android” 需要“json/pure”
d=Android.new在
script='/sdcard/sl4a/scripts/YOUR\u脚本'
数据={”com.googlecode.android\u脚本.extra.SCRIPT_路径“=>;脚本}
额外费用=JSON.generate生成(数据)
d.星触觉('com.googlecode.android\u脚本.action.LAUNCH_后台脚本','','',数据,真,'com.googlecode.android\u脚本','com.googlecode.android\u脚本.activity.ScriptingLayerServiceLauncher')
[/代码]
我希望这有帮助!在
相关问题 更多 >
编程相关推荐