ターミナルから端末、もしくはエミュレータに対してIntentを投げることが可能です。アプリケーションの開発を行っていると、ブロードキャストインテントなど特定のタイミングにしか飛んでこないIntent(端末起動時のBOOT_COMPLETE)や、暗黙のIntentに反応させたいということがあるかと思います。いったときに、ターミナルからIntentを投げることができれば非常に便利です。今回は、比較的よく使われると思われる以下の3つの方法について解説します。明示的IntentブロードキャストIntent暗黙的IntentamコマンドターミナルからIntentを投げるには、amコマンドを使用します。今回は、PC上でエミュレータを起動している状態を想定して解説を行いますが、実機の場合でも特に違いはありません。それでは早速使ってみましょう。ターミナルを起動してください(windowsならコマンドプロンプト)。以下のように入力し、端末にアクセスしましょう。<カーソル>」だけ表示されていれば成功です。それではまず、amコマンドのhelpを見てみましょう。コマンドの使い方やオプションの種類などを知りたいときに使います。ターミナルに以下のように入力してください。amすると以下のように表示されるかと思います(androidのバージョンによって多少誤差があります)。それでは、主な使い方を順に解説します。明示的Intentを投げるそれではまず初めに、明示的Intentを投げる方法について解説します。以下のように使用します(今回はあらかじめ※APIDemosをエミュレータにインストールしています)。com.example.android.apis/.ApiDemosこのコマンドをターミナルに打ち込みましょう。ターミナルに以下のように表示され、あらあじめインストールしておいたApiDemosのApiDemosアクティビティが起動すれば成功です。フォーマットは以下のようにします。<起動したいアプリケーションのパッケージ名>/.<Activity名>>ここで例えばオプションを入力していなかったりすると、以下のようにエラーが表示されます。(一例)明示的Intentについては「Intentを使って画面を遷移する(明示的Intent)」の記事を参考にしてください。※ApiDemos・・・各種APIがサンプルアプリケーションという形でSDK内に梱包されているものです。APIの使い方を学ぶのに良いと思いますので試してみてください。プロジェクト作成時に以下のフォルダを指定します。/<android-sdkルート>/samples/android-XX/ApiDemos暗黙的Intentを投げる次は暗黙的Intentの投げ方を解説します。ここでは例として、暗黙的Intentを利用してブラウザを起動させてみたいと思います。Boosterが表示されるかと思います。暗黙的Intentは、URLをタップしたり、共有ボタンを押してみたりと、特定のアプリケーションの特定の操作でしか発行することはできないので、意図的に必要な暗黙的Intentを投げることができれば便利です。ちなみに、フォーマットは以下のようにします。<DATA_URL>せっかくなのでもう一つ例を示します。「Intent.ACTION_SENDで他のアプリケーションと連携する」の記事に登場するACTION_SENDを指定して、共有アプリ一覧を呼び出してみましょう。以下を入力してみてください。“android.intent.category.DEFAULT”するとターミナルに以下のように表示され、端末上に共有アプリ一覧が表示されれば成功です。S)の画面キャプチャです。フォーマットは以下のようになっています。<CATEGORY>暗黙的Intentについては「Intentを使ってアプリを連携させる(暗黙的Intent)」「Intent.ACTION_SENDで他のアプリケーションと連携する」の記事を参考にしてください。ブロードキャストIntentを投げるここでは、ターミナルからブロードキャストIntentを投げる方法を解説します。ここでは例として、バッテリーが少なくなってきたときに発行されるブロードキャストインテントを投げてみます。android.intent.action.BATTERY_LOWターミナル上に以下のように表示され、端末上に「充電して下さい」ダイアログが表示されれば成功です。本来は電池が少なくなったときにしか表示されませんが、ターミナルからIntentを投げることで、意図的に実現させることが可能です。フォーマットは以下の通りにします。shellコマンドについて触れておきます。端末やエミュレータにターミナル上から接続したい場合、コマンドラインから以下のコマンドを打ち込むことで、端末に接続(アクセス)することができます。shell端末に接続することで、端末内のディレクトリ操作(cdやlsコマンド)や、今回のように端末に対してIntentを投げるなど、コマンドを用いた端末操作が可能になります。emulator」と表示されるでしょう。この場合は次のようにする必要があります。選択したデバイスに接続<デバイス>には、デバイスリストの「device」の左に表示される文字列を指定します。アクセス)について簡単に説明しました。今回は、主に以下の3つについて、基本的なamコマンドの使い方について解説しました。明示的IntentブロードキャストIntent暗黙的Intentオプションなどを駆使すれば、快適なIntent生活を送る事ができるのではないでしょうか。関連する記事:Intent.ACTION_SENDで他のアプリケーションと連携するカメラの画像プレビューからのIntentから画像を取得するブラウザの共有ボタンからサムネイルを取得(作成)する。2.0(β)に対応した解説書です。