この仕組みを使ってブラウザでブラウジング中に特定のURLにアクセスした時に自身の作成したアプリケーションを起動させることができます。
例としてhttp://www.yahoo.co.jp/ へのアクセスをフックしてみます。
まずは、ブラウザからhttp://www.yahoo.co.jp にアクセスした時にどのようなインテントが発行されているのかLogCat(Androidのログ閲覧ツール)で確認します。すると下記のようなログが出力されています。
Starting activity: Intent {action=android.intent.action.VIEW categories={android.intent.category.BROWSABLE} data=http://www.yahoo.co.jp/ comp={com.android.browser/com.android.browser.BrowserActivity} }
ここまで分かればしめたものです。このログ通りにインテントフィルタを作成します。インテントフィルタは、AndroidManifest.xmlに記述します。
注意しなければならないのは、暗黙的インテントを処理するので、categoryにandroid.intent.category.DEFAULTも必要だというところです。
01.<intent -filter="">
02. <action android:name="android.intent.action.VIEW">
03. </action>
04. <category android:name="android.intent.category.DEFAULT">
05. </category>
06. <category android:name="android.intent.category.BROWSABLE">
07. </category>
08. <data android:scheme="http" android:host="www.yahoo.co.jp" android:path="/">
09. </data>
10.</intent>
以上で、特定URLへのアクセスをフックすることができます。
0 件のコメント:
コメントを投稿