2011/09/15

Android で暗黙的インテントをデバッグする方法

web ブラウザから <a> タグ使って、作ったアプリケーションを起動したいってのがよくある話。
<a href="hogeschema://run.example.com">起動!!</a> みたいなリンクをタップすると起動しますよと。
そんな感じで起動するアプリの作成方法はいろいろ参考があるんだけど、
デバッグ方法をあまり見かけない。
そんな中デバッグ方法といえば、
  • 起動用暗黙的インテントを <a> にタグ書いた html ファイルを作成。
  • どこか web サイトにアップしとく。
ここまで前準備。
  • Eclipse でデバッグ実行。
  • Android の標準ブラウザ立ち上げて、予めアップしておいた web ページへアクセス。
  • リンクをタップして、アプリ起動。
デバッグできるね、やったねt(ry

正直めんどくさい
ページの QR コード作ってそれ読み込んでブラウザ立ち上げとか、
お気に入りに入れてもめんどくさい。時間がかかる。
<a> のリンク小さいしタップしづらいし。
とか不満たらたら言いながら探した方法です。

adb を使う。

Android Debug Bridge の adb みたいです。
場所は
/path/to/android-sdk/platform-tools/adb
windows の場合は コマンドプロンプトで、その他はお気に入りの端末で実行できます。
でその adb を使ってインテントを投げることができます。
  • Eclipse でデバッグ実行。
  • 端末起動して
    ./adb shell
    を実行。
    Android 端末認識してないと
    $ ./adb shell
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    error: device not found
    なエラー出ます。
  • shell が起動すると
    peko@eeepc:~/android-sdk-linux_x86/platform-tools$ ./adb shell
    $ 
    こんな感じで $ になります。
    暗黙的インテントはここで投げることができます。
    $ am start -a android.intent.action.VIEW hogeschema://run.example.com
    
  • やったねt(ry

インテント投げるだけじゃなく、いろいろな使い方が am コマンドにあります。
ちなみに am と打つだけで使い方がドベッとでてくるのでみてみてください。

am べんりー