明示的インテントについて

明示的インテント(Explicit Intents)は、アクティビティなどのコンポーネントを明示的に指定して利用する方法です。通常、同一アプリケーション内のアクティビティ間で利用されます。

明示的インテントは、以下のように呼び出します。

 package com.example.youfit.hogeapplication;

import android.app.Activity;
import android.os.Bundle;

public class NextActivity  extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_next);
    }
}
Intent intent = new Intent(this, HogeActivity.class);
startActivity(intent);

実際の例を見てみましょう。

MainActivity画面のボタンを押すことで、NextActivity画面が呼び出しています。

●MainActivity画面

package com.example.youfit.hogeapplication;

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

public class MainActivity extends Activity  implements View.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // クリックイベントを取得したいボタン
        Button btnSend =(Button)this.findViewById(R.id.button);
        btnSend.setOnClickListener(this);

    }

    @Override
    // クリック時に呼ばれるメソッド
    public void onClick(View v) {
        // NextActivityを呼び出す
        Intent intent = new Intent(this, NextActivity.class);
        startActivity(intent);
    }

}

26、27行で明示的インテントを使用しています。

●NextActivity画面

 package com.example.youfit.hogeapplication;

import android.app.Activity;
import android.os.Bundle;

public class NextActivity  extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_next);
    }
}
お問い合わせはこちら