Inti dari sebuah aplikasi sebenarnya ada 3 yaitu activity, service dan broadcast. Intent sendiri digunakan untuk memanggil activity, memanggil service atau melakukan broadcast.

Gambar 8.1. (a) Tampilan Activity pertama, (b)Tampilan Acticity kedua
Bagian ini kita akan memahami intent dari yang paling sederhana yaitu memanggil activity lain. Skenarionya, kita punya 2 layout dan 2 activity yang saling berpasangan. Pada activity yang pertama disediakan sebuah button, jika diklik lalu pindah ke activity kedua. Pada activity kedua ini juga disediakan button, jika diklik maka activity kedua akan destroy (close) lalu activity pertama muncul kembali. Perhatikan gambar 8.1 berikut.
Nah, sudah tidak sabar kan??? Yuk kita mulai...
1. Bikin project baru dulu ya
2. Kita bikin layout pertama dulu menggunakan main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="Hehe.. ini activity-1" />
<Button android:text="Lanjut"
android:id="@+id/Button01"
android:layout_width=" fill_parent"
android:textSize="18px"
android:layout_height="55px">
</Button>
</LinearLayout>
3. Kita bikin xml barul diberi nama main2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="Trus yg ini activity-2" />
<Button android:text="Kembali"
android:id="@+id/Button02"
android:layout_width=" fill_parent "
android:textSize="18px"
android:layout_height="55px">
4. Sekarang kita coding untuk activity pertama CallActivity.java
package cnt.CallActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class CallActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button next = (Button) findViewById(R.id.Button01);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View bebek) {
Intent myIntent = new
Intent(bebek.getContext(), CallActivity2.class);
startActivityForResult(myIntent, 0);
}
});
}
}
5. Buat class baru beri nama CallActivity2.java. Klik kanan package>new>class.
package cnt.CallActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class CallActivity2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button prev = (Button) findViewById(R.id.Button02);
prev.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
}
6. Sekarang perhatikan AndroidManifest.xml, daftarkan dulu activity kedua tadi disini
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cnt.CallActivity"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".CallActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="CallActivity2">
<intent-filter>
<action android:name="android.intent.action.MAIN2" />
</intent-filter>
</activity>
</application>
</manifest>
7. Selesai! Silakan di run.
Pembahasan Program
Kita mulai dari activity pertama callActivity.java, serperti biasa terlebih dahulu kita melakukan sinkronisasi object terhadap widget pada xml. Sinkronisasi button kita lakukan di baris 11, sedangkan baris 12 berperan untuk mengaktifkan button. Baris 15-16 adalah deklarasi intent sedangkan baris 17 mengaktifkan intent untuk memanggil activity kedua menggunakan method startActivityForResult(). Dengan method ini, activity baru akan muncul diatas activity sebelumnya.
Sekarang kita bahas activity yang kedua. Baris 19 merupakan deklarasi intent, sedangkan setResult() pada baris 20 merupakan jawaban atas panggilan startActivityForResult() pada activity pertama. Finish() pada baris 21 adalah method untuk mengakhiri activity. Dengan finish-nya activity kedua ini, maka yang muncul dilayar adalah activity sebelumnya.
Sumber
omayib.com