0

システムスクリプトによって起動されるAndroidアプリケーションを作成しようとしています。アプリケーションはテキストの入力を求めてstdoutに出力することになっているので、スクリプトはそれを消費できます。編集: ここで何かを明確にするために:スクリプトはencfs--extpassオプションによって起動されます

私はAndroidアプリケーションがコンソールに書き込む方法を知っています:System.console().printf("text");

スクリプトからアクティビティを起動する方法を知っています。am start -n com.pkg.App/.MyActivity

アプリケーションを実際に起動して、起動したコンソールに実際に何かを出力する方法がわかりません。アプリケーションはその処理を実行しているようで、コンソールには何も返されません。

たぶん私は問題全体に間違って取り組んでいて、スクリプトからテキストを要求するより簡単な方法がありますか?

4

2 に答える 2

1

シーケンス全体をホストする Android アプリを作成してみませんか? android は、Runtimeクラスを使用して、スクリプトまたはネイティブ コマンド ライン アプリケーションを起動できます。それらに引数を渡し、出力をキャプチャして、他のスクリプトなどに渡すことができます。

  1. アプリを起動し、ユーザー入力を収集します
  2. システム スクリプトを起動し、手順 1 で収集した引数を渡します。

たとえば、encfs をいつ呼び出す必要があるかを制御できないためにそれが機能しない場合、別のアイデアは、提案したようにシステム スクリプトから Android アプリを起動し、出力を完了したらファイルします。システム スクリプトは、ファイルの存在を監視する必要があります。そうしないと、入力の準備ができているかどうかがわからないからです。それをSystem.console()除外します。

于 2012-09-24T16:00:45.537 に答える
0

API レベル >= 9 でコンソールにアクセスできます。NDK はコンソールへの書き込みも許可する必要があります。System.console()

于 2012-09-22T07:05:22.987 に答える