Intent adalah objek perpesanan yang bisa Anda gunakan untuk meminta tindakan dari komponen aplikasi. Meskipun intent mempermudah komunikasi antar komponen dengan beberapa cara, ada tiga kasus penggunaan yang mendasar:
Memulai aktivitas
Activity merepresentasikan satu layar dalam aplikasi. Anda bisa memulai instance baru Activity dengan meneruskan Intent ke startActivity(). Intent menjelaskan aktivitas yang akan dimulai dan membawa data yang diperlukan.
Jika Anda ingin menerima hasil dari aktivitas setelah selesai, panggil startActivityForResult(). Aktivitas Anda menerima hasil sebagai objek Intent terpisah dalam callback onActivityResult() aktivitas Anda. Untuk informasi selengkapnya, lihat panduan Aktivitas.
Memulai layanan
Service Adalah komponen yang melakukan operasi di latar belakang tanpa antarmuka pengguna. Dengan Android 5.0 (API level 21) dan yang lebih baru, Anda bisa memulai layanan dengan JobScheduler. Untuk informasi selengkapnya tentang JobScheduler, lihat API-reference documentation-nya.
Untuk versi sebelum Android 5.0 (API level 21), Anda bisa memulai layanan menggunakan metode class Service. Anda bisa memulai layanan untuk melakukan operasi satu-kali (misalnya mendownload file) dengan meneruskan Intent ke startService(). Intent menjelaskan layanan yang akan dimulai dan membawa data yang diperlukan.
Jika layanan didesain dengan antarmuka pengguna klien-server, Anda bisa menautkan ke layanan dari komponen lain dengan meneruskan Intent ke bindService(). Untuk informasi selengkapnya, lihat panduan Layanan.
Mengirimkan siaran
Siaran adalah pesan yang bisa diterima aplikasi apa saja. Sistem mengirimkan beragam siaran untuk peristiwa sistem, seperti saat sistem melakukan booting atau perangkat mulai mengisi daya. Anda bisa mengirimkan siaran ke aplikasi lain dengan meneruskan Intent ke sendBroadcast() atau sendOrderedBroadcast().
Tipe intent:
Intent eksplisit menentukan aplikasi mana yang akan memenuhi persyaratan intent, dengan menyediakan nama paket aplikasi target maupun nama class komponen yang sepenuhnya memenuhi syarat. Anda biasanya akan menggunakan intent eksplisit untuk memulai sebuah komponen pada aplikasi Anda sendiri, karena Anda mengetahui nama class dari aktivitas atau layanan yang ingin dimulai. Misalnya, Anda mungkin memulai aktivitas baru pada aplikasi sebagai respons terhadap tindakan pengguna, atau mulai layanan untuk mendownload file di latar belakang.
Intent implisit tidak menetapkan komponen tertentu, melainkan mendeklarasikan tindakan umum yang akan dilakukan, yang memungkinkan komponen aplikasi lain untuk menanganinya. Misalnya, jika ingin menampilkan sebuah lokasi pengguna di peta, Anda bisa menggunakan intent implisit untuk meminta aplikasi lain yang mampu menunjukkan lokasi yang telah ditetapkan di peta tersebut.
Sumber: Developer Android
Sumber: Developer Android
0 comments