Intent explicit and implicit in Android

Arsy Opraza
UNIKOM Codelabs
Published in
2 min readAug 20, 2021

Kali ini saya akan membahas intent yang ada pada Android.

Apa itu intent?

Intent adalah sebuah objek messaging yang digunakan untuk melakukan permintaan sebuah aksi atau berkomunikasi antar app component seperti activity, service, dan broadcast.

Jenis Intent

Ada 2 jenis intent, yaitu:
1. Intent Explicit
Merupakan intent yang digunakan berkomunikasi atau menjalankan komponen yang ada di dalam aplikasi dengan menyebutkan nama class secara spesifik, biasanya digunakan untuk memulai komponen di aplikasi sendiri.

val intent = Intent(this@HomeActivity, ProfileActivity::class.java)
startActivity(intent)

2. Intent Implicit
Merupakan intent yang digunakan untuk berkomunikasi atau menjalankan komponen dari aplikasi lain seperti membuka camera atau membuka browser dengan tidak menyebutkan nama class secara spesifik.

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://developer.android.com"));
startActivity(intent);

Implementasi Intent pada project Android Studio

  1. Buatlah project baru pada android studio terlebih dahulu.
  2. Pada activity_main.xml tambahkan kode berikut ini :
<Button
android:id="@+id/btn_move_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="72dp"
android:text="@string/move_activity"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.526"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_move_browser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/move_browser"
app:layout_constraintEnd_toEndOf="@+id/btn_move_activity"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/btn_move_activity"
app:layout_constraintTop_toBottomOf="@+id/btn_move_activity" />

Pada kodingan di atas kita akan membuat 2 buah button yang nantinya akan digunakan untuk implementasi intent.

3. Buatlah activity baru dengan contoh activity bernama AnotherActivity. Kemudian pada activity_another.xml tambahkan kode berikut ini :

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/berhasil_pindah_activity"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Pada contoh kode di atas, kita akan menampilkan sebuah text view.

4. Kemudian pada MainActivity.kt tambahkan kode berikut ini :

val btnMoveActivity: Button = findViewById(R.id.btn_move_activity)
val btnMoveBrowser: Button = findViewById(R.id.btn_move_browser)

btnMoveActivity.setOnClickListener{
val intent = Intent(this, AnotherActivity::class.java)
startActivity(intent)
}

btnMoveBrowser.setOnClickListener{
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://developer.android.com"));
startActivity(intent)
}

Kode di atas merupakan implementasi intent, intent explicit pada button move activity (untuk berpindah activity) dan intent implicit pada button move browser (untuk membuka alamat url di browser contoh di atas menggunakan url https://developer.android.com)

5. Jalankan project tersebut, maka hasilnya akan seperti berikut ini :

--

--