2

バックグラウンド 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

startActivityこれをPython の呼び出しに変換することはできません。

Twitter クライアントを開くことに関する別の質問への回答はうまく機能しますが、そのコードを拡張する方法がわかりません。たとえば、どのようにスクリプト パスを追加し、どこに行を配置しますcom.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncherか?

4

2 に答える 2

0

何度も何度も失敗した後、Ruby でこれが機能するようになりました。Python よりも、この方法で JSON エクストラを生成する方が簡単でした。

重要!コマンドライン バージョンでは、「com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher」を呼び出します。

スクリプト内では、これはスラッシュなしで「com.googlecode.android_scripting.activity.ScriptingLayerServiceLauncher」と呼ばれます。スラッシュを残すと、sl4a がクラッシュします。

[コード]

'android' が必要 'json/pure' が必要

d=Android.new

スクリプト = '/sdcard/sl4a/scripts/YOUR_SCRIPT'

データ = {"com.googlecode.android_scripting.extra.SCRIPT_PATH"=>スクリプト}

エクストラ = JSON.generate(データ)

d.startActivity('com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT','','',data,true,'com.googlecode.android_scripting','com.googlecode.android_scripting.activity.ScriptingLayerServiceLauncher')

[/コード]

これが役立つことを願っています!

于 2013-04-06T13:48:59.380 に答える