最終更新:
moonlight_aska 2011年07月30日(土) 09:25:43履歴
他のアプリケーションの起動は, インテント(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);
}
});
}
}
コメントをかく