このページの本文へ

これで作れる! Androidのアプリケーション 第5回

インテントによるアプリケーションとアクティビティの呼出し

2010年07月29日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

Androidアプリのキモとなるインテントとは何?

 では本題に入ることにしましょう。「インテント」とはAndroid独自の機能です。簡単にいえばアプリケーションやアクティビティを呼び出す機能ですが、他のアプリケーションを機能や扱えるデータ型式で“検索”して呼び出すことができるものです。

 たとえば、ウェブブラウザーを呼び出したい場合、「View」(データの表示)というアクションとURLを指定します。ウェブブラウザーの名前などを指定する必要がありません。このインテントが実行されると、Androidは、URLを扱うことができ、かつそれを表示できるアプリケーションを探し、そのアプリケーションにURLを渡して表示を行なわせます。もし、複数のアプリケーションがある場合は、ユーザーがどのアプリケーションを使うのかを選ぶダイアログが表示されます。

Android端末で追加のウェブブラウザーをインストールしたのちに、何らかのアプリケーションでURLをタッチすると、アプリの選択画面が表示される。これはインテントによって、ウェブブラウザーを呼び出している証拠だ

 このようにアプリケーションでインテントを使うと、コード中にブラウザーの名前を入れる必要もないし、実際の実行時に別のブラウザーに置き換わっていたり、複数のブラウザーが端末にあっても問題ないのです。また逆にブラウザを起動するアプリケーションがあったとしても、ユーザーは別のブラウザをインストールしたら、そちらを起動するようにも指定できます。このようにアプリケーション同士を直接相互依存させるのではなく、実際に行なう作業(アクションといいます)を指定して外部のアプリケーションと間接的に関係させることができるわけです。

 また、インテントは1つのアプリケーションの中で、アクティビティを切り替えるのにも利用します。アプリケーションは、必ずアクティビティを含むため、インテントはアクティビティを呼び出しているともいえます。つまり、アプリケーション内での別のアクティビティの呼び出しは、インテントの特殊な形と考えることができるわけです。この場合は、機能などでなく、直接別のアクティビティを示す名前を使います。

 インテントによる別アプリケーションの呼び出しでは、Android側がアプリケーションの情報を使って、自動的に起動するアプリケーションを決定します。このため自作ソフトでも、きちんとアクションに対応するように作れば、条件を満たしたときには自作ソフトを呼び出してくれます。

まずは簡単な例を作成してみる

 今回は、このためにSample5を作成しました。いつものようにエクスポートしたプロジェクトを用意しました。またAndroidマーケットに動作するサンプル(Sample05)をアップロードしてあります。またソースコードについては以下のリンクからダウンロードしてください。

Sample05.zip

 なおこれままでの解説で、アプリケーションの作り方に慣れたと思いますので、今回からはレイアウト作成などの操作についての説明は省略します。

 インテントの最も簡単な例は、アプリケーションから別アプリケーションを呼び出す場合です。まずはAndroidの[設定]にある「日付と時間」を表示させてみましょう。

 Android自身が用意しているインテントに関しては、Android DeveloperのReferenceに情報があります。ただし、一ヵ所にすべてまとまっているわけではなく、Intentクラスで規定する標準のアクションと、個々のクラスが持つアクション(アクティビティの表示)に別れています。今回のように設定関連のアクションは、Settingsクラスに定義があります。

    Intent intent = new Intent(Settings.ACTION_DATE_SETTINGS);
    startActivity(intent);

 1行目はIntentオブジェクトの作成で、このとき引数としてアクションを渡します。今回のアクション(Settings.ACTION_DATE_SETTINGS)は、データを別途必要としないので、特になにもせずにstartActivityでアクティビティを表示させることができます。

 これがインテントです。このように設定の各項目を簡単に起動することができます。本連載で最終的に作る世界時計のプログラムにおいても、最初はこの機能を使い、ユーザーに自分でタイムゾーンを変更してもらっていました。この方法はユーザーの手間がかかってしまうものの、アプリケーションがタイムゾーンを変更する許可(Permission)を取得する必要がないというメリットがあります。

 Androidマーケットからアプリケーションをインストールする際、オレンジの字でアプリケーションがアクセスする機能などについての確認をみたことがあるでしょう。これがその許可になります。ここでOKを押すことで、ユーザーはさまざまな機能へのアクセス(関連情報の変更や読み出し)を許可しているのです。

 さて、このコードでIntentのコンストラクタの引数になっている定数(Settings.ACTION_DATE_SETTINGS)は実は文字列で、リファレンスによれば、その中身は"android.settings.DATE_SETTINGS"です。このためこの部分は、

    Intent intent = new Intent("android.settings.DATE_SETTINGS");

と書くこともできます。とはいえ、将来的にもこの文字列である保証はない(変更されることはないと思われますが)ので、最初のようにコードでは定数として書いておいたほうがいいでしょう。万一変更があっても、定数はSDK側で定義されているのでコードを再コンパイルするだけで済みます。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
【整備済み品】富士通 ARROWS Tab V727/V 12.3型 WUXGA+ タブレットPC Windows11 Pro MS Office H&B 2019 第7世代 Core m3-7Y30 メモリ4GB SSD128GB LTE対応 無線LAN Webカメラ タッチペン付属 USB-C 初期設定済み 中古パソコン
【整備済み品】富士通 ARROWS Tab V727/V 12.3型 WUXGA+ タブレットPC Windows11 Pro MS Office H&B 2019 第7世代 Core m3-7Y30 メモリ4GB SSD128GB LTE対応 無線LAN Webカメラ タッチペン付属 USB-C 初期設定済み 中古パソコン
¥9,999
2
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - ブラッシュ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - ブラッシュ
¥98,789
3
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,129
4
【Amazon.co.jp限定】Dell ノートパソコン Dell 15 DC15250 15.6インチ Intel Core i5-1334U メモリ16GB SSD512GB Windows 11 カーボンブラック 翌営業日対応オンサイト出張修理サービス1年(HDD返却不要サービス) ND65-GHBA
【Amazon.co.jp限定】Dell ノートパソコン Dell 15 DC15250 15.6インチ Intel Core i5-1334U メモリ16GB SSD512GB Windows 11 カーボンブラック 翌営業日対応オンサイト出張修理サービス1年(HDD返却不要サービス) ND65-GHBA
¥169,800
5
【整備済み品】 中古ノートパソコン Versapro-VKシリーズ 第7世代 Core i5 中古ノートPC/Windows11/15.6型/MS &Office2019/8GB メモリ/SSD128GB/DVDドライブ/Wi-Fi/HDMI/Bluetooth/USB3.0/有線マウス付属 (VKシリーズ/i5-7/8GB/128GB)
【整備済み品】 中古ノートパソコン Versapro-VKシリーズ 第7世代 Core i5 中古ノートPC/Windows11/15.6型/MS &Office2019/8GB メモリ/SSD128GB/DVDドライブ/Wi-Fi/HDMI/Bluetooth/USB3.0/有線マウス付属 (VKシリーズ/i5-7/8GB/128GB)
¥16,999

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,649
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応 (0.9m クラウドホワイト)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応 (0.9m クラウドホワイト)
¥1,790
3
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
¥1,690
6
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GW
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GW
¥1,553
8
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,358
9
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥3,114
10
エレコム USB Type C ケーブル 1m 100W PD対応 高速充電 シリコン素材 なめらか やわらか 【 MacBook/iPad/Galaxy/Android スマホ タブレット 等対応 】 ブラック 【iPhone 16 シリーズ 対応検証済】 MPA-CCECSS10BK
エレコム USB Type C ケーブル 1m 100W PD対応 高速充電 シリコン素材 なめらか やわらか 【 MacBook/iPad/Galaxy/Android スマホ タブレット 等対応 】 ブラック 【iPhone 16 シリーズ 対応検証済】 MPA-CCECSS10BK
¥980

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン