簡體   English   中英

如何從MIT App Inventor Activity Starter啟動QPython腳本並干凈退出?

[英]How do I launch a QPython Script from MIT App Inventor Activity Starter and exit cleanly?

我使用MIT App Inventor 2開發了一個簡單的培訓應用程序。該應用程序記錄到日志文件中,並且制作了一個小的QPython腳本來分析日志並顯示統計信息。

我想使用Activity Starter啟動我的Python腳本,但是我無法找出正確的Action,ActivityClass,ActivityPackage和Extra [x]集合來使其正常工作。 我已經在Android手機上運行adb來找到正確的字符串,但是嘗試時會收到“ 601未找到相應的活動”。

這是運行腳本時grepped為“ 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

我已經閱讀了文檔,並試圖破譯日志並填充標簽。 我也找到了從2010年開始對同一問題的舊答案,但是自那以后,QPython似乎一直在發展,因為該食譜與我的logcat不符(並且也不起作用)。 請查看兩個選項的屏幕截圖(我是新手,所以不允許嵌入圖像)。

兩個不起作用的選項的屏幕截圖 在此處輸入圖片說明 有人知道我應該如何設置活動啟動器的格式才能運行此腳本?

更新!
我認為Taifun使我走上了正確的道路。 我遵循了他的建議,並使用新權限重新編譯了.apk並進行了安裝,以便可以運行Shell腳本。 我現在的問題是QPython似乎完全忽略了我要求它在啟動時運行腳本的問題。 終端可以打開,但是我的腳本無法運行。 如果我手動運行該命令,它將運行正常。

有什么想法嗎?

我的新配置幾乎可以正常工作。

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'"}

這工作正常:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM