7.アプリケーションの連携 7-1 インテント(intent) 1.アプリケーションの連携とは アプリケーションから他のアプリケーションを起動 (インテントという仕組みを用いる) 2.アプリケーションの連携の例 (電話を起動) インテントを作成してアクション(Action)を設定 Intent it = new Intent(); it.setAction(Intent.ACTION_VIEW); 主なアクションの種類 (android.content.Intentクラス) 種 類 ACTION_MAIN ACTION_VIEW ACTION_GET_CONTENT ACTION_SEARCH ACTION_EDIT ACTION_SEND ACTION_SENDTO ACTION_DIAL 内 容 起動する。 データを表示する。 データを選択して返す データを検索する。 データを編集する。 データを送信する。 メッセージを送信する。 ダイヤルをかける。 データ(電話番号など)の設定と アプリケーションの起動 【データの設定】 it.setData(URI.parse(“tel:0423906037”)); 【アプリケーションの起動】 startActivity(it); 関連クラス クラス android.content.Intentクラス Intent() Intent setAction(String act) Intent setData(Uri uri) 概 要 インテンツを作成する。 アクションを設定する。 URIデータを設定する。 Android.app.Activityクラス void startActivity 新しいActivityを起動する。 プログラム例(その1) package jp.tele; import android.app.*; import android.os.*; import android.content.*; import android.net.*; import android.view.*; import android.view.View.OnClickListener; import android.widget.*; プログラム例(その2) public class TeleActivity extends Activity { Button btn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL=new LinearLayout(this); LL.setOrientation(LinearLayout.VERTICAL); setContentView(LL); btn=new Button(this); btn.setText("電話"); LL.addView(btn); btn.setOnClickListener(new telClickListener()); } プログラム例(その2) class telClickListener implements OnClickListener{ @Override public void onClick(View v) { Intent it =new Intent(); //インテント作成 it.setAction(Intent.ACTION_VIEW); //アクション指定 it.setData(Uri.parse(“tel:0423069072”));//データ設定 startActivity(it); //電話の起動 } } } 実行例 設定された電話番号データで電話が起動 3.インテントを受け取るアプリケーションが 複数ある場合 アプリケーションの選択画面が表示されるので, ユーザがアプリケーションを選択する。 プログラム例(その1) package jp.retr; import android.app.*; import android.os.*; import android.content.*; import android.view.*; import android.view.View.*; import android.widget.*; プログラム例(その2) public class RetrActivity extends Activity { Button button; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL=new LinearLayout(this); LL.setOrientation(LinearLayout.VERTICAL); setContentView(LL); button=new Button(this); button.setText("検索"); LL.addView(button); button.setOnClickListener(new retClickListener()); } プログラム例(その3) class retClickListener implements OnClickListener { public void onClick(View v) { Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEARCH); intent.putExtra(SearchManager.QUERY, "Android"); startActivity(intent); } } } 実行例 アプリケーション選択
© Copyright 2024 ExpyDoc