如何从MIT App Inventor Activity Starter启动QPython脚本并彻底退出?

时间:2016-01-24 16:38:28

标签: android app-inventor qpython

我使用MIT App Inventor 2创建了一个简单的培训应用程序。该应用程序登录到日志文件,我已经制作了一个小的QPython脚本来分析日志和显示统计信息。

我想使用Activity Starter来启动我的Python脚本,但是我还没能找到正确的Action,ActivityClass,ActivityPackage和Extra [x]来使其工作。我在我的Android手机上运行adb以找到正确的字符串,但我得到了#34; 601没有找到相应的活动"当我尝试时。

这是" qpyplus"的adb输出。在运行脚本时:

I/Timeline( 1898): Timeline: Activity_launch_request id:com.hipipal.qpyplus time:15752330
I/ActivityManager(  862): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.hipipal.qpyplus/com.hipipal.qpylib.MPyApi bnds=[540,456][807,756] (has extras)} from uid 10116 on display 0
V/WindowManager(  862): addAppToken: AppWindowToken{1687ec32 token=Token{120bbc3d ActivityRecord{1ef9e994 u0 com.hipipal.qpyplus/com.hipipal.qpylib.MPyApi t5112}}} to stack=1 task=5112 at 0
V/WindowManager(  862): Adding window Window{e90d72c u0 Starting com.hipipal.qpyplus} at 18 of 26 (after Window{30168e12 u0 edu.mit.appinventor.aicompanion3/edu.mit.appinventor.aicompanion3.Screen1})
I/Timeline(31680): Timeline: Activity_launch_request id:com.hipipal.qpyplus time:15752447
I/ActivityManager(  862): START u0 {cmp=com.hipipal.qpyplus/jackpal.androidterm.Term (has extras)} from uid 10335 on display 0
V/WindowManager(  862): addAppToken: AppWindowToken{382fc5e2 token=Token{1e492ead ActivityRecord{2e34dfc4 u0 com.hipipal.qpyplus/jackpal.androidterm.Term t5112}}} to stack=1 task=5112 at 1
V/WindowManager(  862): Based on layer: Adding window Window{e90d72c u0 Starting com.hipipal.qpyplus} at 18 of 26
V/WindowManager(  862): Adding window Window{390e635c u0 com.hipipal.qpyplus/jackpal.androidterm.Term} at 18 of 27 (before Window{e90d72c u0 Starting com.hipipal.qpyplus})
I/ActivityManager(  862): Displayed com.hipipal.qpyplus/jackpal.androidterm.Term: +117ms (total +245ms)
I/Timeline(  862): Timeline: Activity_windows_visible id: ActivityRecord{2e34dfc4 u0 com.hipipal.qpyplus/jackpal.androidterm.Term t5112} time:15752597

我已阅读docs并尝试解密日志并填充标记。我也从2010年找到了一个旧的答案同样的问题,但似乎QPython从那以后一直在继续,因为配方并不对应我的logcat(也没有工作) )。请看两个选项的截图(我在这里是一个菜鸟,所以我不允许嵌入图片)。

screenshot of two options that don't work enter image description here 有没有人知道我应该如何格式化活动启动器来运行这个脚本?

更新!
我认为,泰丰让我走上正轨。我已经按照他的建议重新编译了具有新权限的.apk并安装了它,以便允许它运行shell脚本。我现在的问题是QPython似乎完全忽略了我要求它在启动时运行脚本。终端打开没问题,但我的脚本没有运行。如果我手动运行该命令,它运行正常。

有什么想法吗?

My new config that almost works.

1 个答案:

答案 0 :(得分:0)

http://i.hizliresim.com/mLqgP4.png

action="com.hipipal.qpyplus.action.MPyApi"
classname="com.hipipal.qpyplus.MPyApi"
packagename="com.hipipal.qpyplus"
extras={"app" : "appid", "act" : "onPyApi", "flag" : "onQPyExec", "param" : "", "pycode" : "print 'selam'\nprint 'naber'"}

这很好用:)