最終更新:2012-10-14 (日) 11:08:46 (652d)  

Android/インテント はてなブックマークを見る
Top / Android / インテント

アクティビティ間やアプリケーション間でやり取りするメッセージの役割を果たすもの

種類

明示的インテント

  • Activityをクラス名で指定して呼び出す方法
    Intent intent = new Intent(this, TargetActivity.class);
    startActivity(intent);

暗黙的インテント

  • 相手を指定せずに送るインテントで、システムに対してアクションとパラメータを送る
  • システムは登録されているアクティビティの中からアクションとパラメータの組み合わせを元に起動するアクティビティを決定する (インテントフィルタ)
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.google.com/"));
    startActivity(intent);

android.content.Intent

コンストラクタ

  • android.content.Intent
    コンストラクタ処理内容種類
    Intent()空のインテントを作成します。-
    Intent(Intent o)コピーコンストラクタ-
    Intent(String action)アクションを指定してインテントを作成します。暗黙的インテント
    Intent(String action, Uri uri)アクションとデータ(URI)を指定してインテントを作成します。暗黙的インテント
    Intent(Context packageContext, Class<?> cls)宛先のクラスを明示的に指定してインテントを作成します。明示的インテント
    Intent(String action, Uri uri, Context packageContext, Class<?> cls)Create an intent for a specific component with a specified action and data.明示的インテント

アクション

  • action (String) - インテントの残りの部分 ( 特に データ と エクストラ フィールド ) の構造化の方法を決定する
    • Intent.setAction?(String action)

オプション

  • type (String) - データの MIMEタイプ。
    • Intent.setType?(String type)
    • Intent.setTypeAndNormalize?(String type)
  • class (Class<?>,String)
    • Intent.setClass?(Context packageContext, Class<?> cls)
    • Intent.setClassName?
  • category (String) - インテントをハンドリングすべきコンポーネントの種類に関する付加的な情報を含んだ文字列
    • Intent.addCategory?
  • clipdata (android.content.ClipData?)
    • Intent.setClipData?
  • extra - インテントをハンドリングするコンポーネントに配信されるべき追加情報のキーと値のペア
    • Intent.putExtra
    • Intent.putExtras?
    • Intent.putIntegerArrayListExtra?
    • Intent.putParcelableArrayListExtra?
    • Intent.putStringArrayListExtra?
  • component (android.content.ComponentName?) - Specifies an explicit name of a component class to use for the intent.
    • Intent.setComponent?(ComponentName? component)
  • flags (int)
    • Intent.addFlags?(int flags)
    • Intent.setFlags?(int flags)
  • package (String)
    • Intent.setPackage?(String packageName)
  • selector (Intent)
    • Intent.setSelector?

インテントの送信

android.content.Context

android.app.Activity

  • Activity.startActivities?
  • Activity.startActivity
  • Activity.startActivityForResult
  • Activity.startActivityFromChild?
  • Activity.startActivityFromFragment?
  • Activity.startActivityIfNeeded?
  • Activity.startIntentSender?
  • Activity.startIntentSenderForResult?
  • Activity.startIntentSenderFromChild?
  • Activity.startNextMatchingActivity?

インテントの受信

AndroidManifest.xmlに受け取るインテントの種別を記述

Android/ブロードキャストレシーバ

関連

参考