他のアプリを呼び出す。他のアプリに呼び出される

アンドロイドアプリを制作している時にtwitterへ投稿や、メール作成、画像編集などを、アプリから使用をしたい時にその機能を作成しないで、他のアプリを利用する事が可能です。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);

のようにIntentの後ろにACTION_VIEWで指定する事でそのActionを利用できるものを選んで利用する事ができます。

 

この利用できるアプリに自分の作ったアプリを登録するには、manifestの中にある

<intent-filter>
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

に追加をする形で(上書きでないです。)intent-filterが2つになるという意味です。

<intent-filter>
 <action android:name="android.intent.action.SEND" />
 <category android:name="android.intent.category.DEFAULT" />
 <data android:scheme="http" android:mimeType="image/*" />
</intent-filter>

と記載をします。

これで、actionで指定したものに反応をするようになります。また、dataで送られるデータなどを指定する事ができます。(mimeTypeでtext/plainなど)

カテゴリに関しては、複雑なようですが、基本はDEFAULTで大丈夫みたいです。

カテゴリで示すものに関しては、

ランチャーに登録できる

<category android:name="android.intent.category.LAUNCHER" />

ブラウザから呼び出す。

<category android:name="android.intent.category.BROWSABLE" />

など細かい設定も可能なようです。

(細かくカテゴリについては研究中です。)

これでIntent.ACTION_VIEWやIntent.ACTION_SENDTO、Intent.ACTION_SENDなどからアプリを呼び出す事ができるようになりました。

参考:暗黙のIntentを投げてみた

  • written on 2011.04.12
  • category : java

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑