C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

他のアプリケーションの起動は, インテント(Intent)を使って行う.
インテントには, 明示的インテントと暗黙的インテントがあり, どちらを使っても他のアプリケーションを起動できる.


                 


明示的インテントを使う

明示的インテントとは, インテントにパッケージ名とクラス名を指定してアクティビティを起動する方法である.
  • Intent01.java
    • インテントのインスタンスを生成する.
    • Intent#setClassNameメソッドで, パッケージ名とクラス名をセットする.
    • startActivityメソッドを使って, 他のアプリを起動する.
package com.moonlight_aska.android.intent01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Intent01 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btn = (Button)findViewById(R.id.button_id);
    btn.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        // インテントのインスタンス生成
        Intent intent = new Intent();
        // パッケージ名, クラス名をセット
        intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
        // アプリを起動
        startActivity(intent);
      }
    });
  }
}

暗黙的インテントを使う

暗黙的インテントとは, インテントのパラメータとして実行する内容(データ)やアクション等を渡すことで, システムに起動するアクティビティを任せる方法である.
  • Intent02.java
    • インテントのインスタンスを生成する.
    • Intent#setActionメソッドを使って, アクションをセットする. 今回はブラウザを起動したいので, ACTION_VIEWを設定する.
    • Intent#setDataメソッドを使って, データをセットする. 今回はブラウザを起動したいので, URLを設定する.
    • startActivityメソッドを使って, 他のアプリを起動する.
package com.moonlight_aska.android.intent02;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Intent02 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btn = (Button)findViewById(R.id.button_id);
    btn.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        // インテントのインスタンス生成
        Intent intent = new Intent();
        // インテントにアクション及びURLをセット
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("http://www.google.com"));
        // ブラウザ起動
        startActivity(intent);
      }
    });
  }
}



コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます