package jp.mixi.sample.intent;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final int REQUEST_CODE_TO_RESULT_ACTIVITY = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button newActivity = (Button) findViewById(R.id.NewActivityButton);
Button newActivityForResult = (Button) findViewById(R.id.NewActivityForResultButton);
Button newActivityWithAction = (Button) findViewById(R.id.NewActivityWithActionButton);
Button newActivityWithExtra = (Button) findViewById(R.id.NewActivityWithExtraButton);
newActivity.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 新しい Activity を起動する明示的 Intent
Intent intent = new Intent(MainActivity.this, NewActivity.class);
startActivity(intent);
}
});
newActivityForResult.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 結果を期待する明示的 Intent
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
startActivityForResult(intent, REQUEST_CODE_TO_RESULT_ACTIVITY);
}
});
newActivityWithAction.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Action と対の Data のみを持つ暗黙的 Intent
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://mixi.jp"));
startActivity(intent);
}
});
newActivityWithExtra.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Extra の付加情報を追加した明示的 Intent
Intent intent = new Intent(MainActivity.this, ExtraActivity.class);
intent.putExtra(ExtraActivity.EXTRA_MY_TEXT, "hogehoge");
startActivity(intent);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_TO_RESULT_ACTIVITY) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "OK!", Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Canceled!", Toast.LENGTH_LONG).show();
}
}
}
}