2016年8月31日水曜日

AndroidのIntentをコマンドラインベースのプログラム"am"コマンドから投げる方法

Androidで着信音の設定を行う件について、おーしゃんさんよりとても有益な情報を頂きました。ありがとうございます!

その頂いた情報から、AndroidIntentをコマンドラインベースのプログラムであるamコマンドから投げる方法というのが見つかりました。

adbshellから、

am start -a android.intent.action.RINGTONE_PICKER

これを使うと、なんと無理矢理、着信音を設定する画面を表示できてしまいます。

ググると他の方もすでに見つけてらっしゃるようで、

AndroidIntentをコマンドから投げるという情報が、2ヶ月ほど前の8月にすでに出ていたようです。

さらに、Google公式のドキュメントでは、

Google公式のドキュメントだと、以下のURLにひっそり?と情報
がありますね。

http://code.google.com/intl/ja/android/samples/ApiDemos/tests/AndroidManifest.html

<!–
This declares that this app uses the instrumentation test runner targeting
the package of com.example.android.apis.  To run the tests use the command:
"adb shell am instrument -w com.example.android.apis.tests/android.test.InstrumentationTestRunner"
–>

 

amコマンドとは、以下のような機能があるコマンドのようです。 使い方が良くわからない、いや、Androidのクラスライブラリのことがよくわかっていないので、もう少しほげってみようと思います。

# /system/bin/am
/system/bin/am
usage: am [start|broadcast|instrument]
       am start -D INTENT
       am broadcast INTENT
       am instrument [-r] [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
                [-w] <COMPONENT>

       INTENT is described with:
                [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
                [-c <CATEGORY> [-c <CATEGORY>] …]
                [-e|–es <EXTRA_KEY> <EXTRA_STRING_VALUE> …]
                [–ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> …]
                [-e|–ei <EXTRA_KEY> <EXTRA_INT_VALUE> …]
                [-n <COMPONENT>] [-f <FLAGS>] [<URI>]

 

0 件のコメント:

コメントを投稿