PENDAHULUAN
Sebagaimana yang di bahas pada materi sebelumnya, bahwa di dalam sebuah projek android tidak hanya satu activity saja, bahkan seorang development bisa membuat banyak activity di dalam satu projek mereka. Sekalipun demikian tetap saja hanya satu activity yang akan di tampilkan kepada user. Tampilan activity ini bisa berganti-ganti.\
Lalu bagaimana cara memanggil activity tersebut? Nah di sinilah peran dari intent yang akan kita bahasa pada materi kali ini. Lalu Apa sih Intents itu?
Intent adalah sebuah jembatan yang menghubungkan antar activty yang satu dengan activity yang lain agar masing-masing activity tersebut bisa saling berinteraksi. Intent juga dapat membawa dan mengirimkan data dari satu activity ke Activity lain, bahkan Intent juga bisa menghubungkan ke aplikasi lain (Gmail, Google Map dsb). Intinya, Intent merupakan mekanisme untuk melakukan sebuah action dan komunikasi antar komponen aplikasi.
Penggunaan inten di android ada 2 metode. Yaitu Inten untuk antar activity yang di buat oleh development yang dikenal dengan Explicit dan untuk penjembatani antara activity dengan activity bawaan dari perangkat smarphone.
Intent Impicit
Intent Implicit: Berfungsi melakukan perpindahan activity (halaman) menuju ke aplikasi internal yang ada di smartphone. Contohnya ketika hendak membuka sebuah Telphone, Mengirim SMS, mengakses MAP yang sudah ada di smarphone kita tinggal membuat script untuk penjembatani saja.
Sebagai percobaan mari kita coba untuk mengakses Telp yang ada di smarphone Android.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_dial_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:onClick="dial_number"
android:text="Dial Number" />
</LinearLayout>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun dial_number(view: View){
}
fun dial_number(view: View){
when(view.id){
R.id.btn_dial_number -> {
val phoneNumber = "081363689846"
val dialPhoneIntent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:$phoneNumber"))
startActivity(dialPhoneIntent)
}
}
}
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>