Apa tujuan penggunaan android.intent.category.DEFAULT
di bidang Kategori Filter Maksud?
Apa tujuan penggunaan android.intent.category.DEFAULT
di bidang Kategori Filter Maksud?
Jawaban:
Kategori digunakan untuk Maksud implisit. Jadi, Jika Aktivitas Anda bisa dimulai dengan Maksud implisit saat tidak ada kategori spesifik lain yang ditetapkan ke aktivitas, filter Maksud aktivitas harus menyertakan kategori ini. (meskipun Anda memiliki kategori lain di filter Intent). Jika Anda yakin bahwa aktivitas Anda harus dipanggil dengan Kategori lain, jangan gunakan Default.
Menyetel Kategori ke Default tidak berarti bahwa Aktivitas ini akan digunakan secara default saat aplikasi Anda diluncurkan. Aktivitas hanya mengatakan kepada sistem bahwa " Oh, saya bisa memulai, bahkan jika kategori Intent pemula disetel ke Tidak ada sama sekali! "
Kategori ini terutama digunakan untuk maksud implisit. Jika aktivitas Anda ingin dimulai dengan maksud implisit, itu harus menyertakan kategori ini dalam filternya.
Saya pikir istilah "default" harus dipahami sebagai " kandidat default ". Jika tindakan pada sepotong data menyelesaikan beberapa aktivitas, Android akan menampilkan semua kandidat kepada pengguna dan pengguna dapat memilih default pilihannya.
Referensi:
http://developer.android.com/guide/components/intents-filters.html
Ekstrak dari halaman itu:
Android memperlakukan semua maksud implisit yang diteruskan kestartActivity () seolah-olah mengandung setidaknya satu kategori: "android.intent.category.DEFAULT" (konstanta CATEGORY_DEFAULT). Oleh karena itu, aktivitas yang bersedia menerima maksud implisit harus menyertakan "android.intent.category.DEFAULT" di filter maksudnya. (Filter dengan setelan "android.intent.action.MAIN" dan "android.intent.category.LAUNCHER" adalah pengecualian. Filter menandai aktivitas yang memulai tugas baru dan yang direpresentasikan di layar peluncur. Filter tersebut dapat menyertakan "android.intent .category.DEFAULT "di daftar kategori, tetapi tidak perlu.)
Ini sebenarnya untuk memastikan aktivitas Anda yang lain dapat dipanggil saat aplikasi sedang berjalan. LAUNCHER akan menjadikan aktivitas yang memilikinya sebagai aktivitas pertama yang dimulai. Untuk menggunakan maksud untuk sampai ke aktivitas lain, mereka harus terdaftar sebagai aktivitas "aktual" dengan meletakkan DEFAULT. Itu dari apa yang saya tahu jadi jangan mengutip saya jika itu salah.
Aktivitas perlu mendukung CATEGORY_DEFAULT agar dapat ditemukan oleh Context.startActivity ().
Untuk menerima maksud implisit, Anda harus menyertakan kategori CATEGORY_DEFAULT dalam filter maksud. Metode startActivity () dan startActivityForResult () memperlakukan semua maksud seolah-olah mereka mendeklarasikan kategori CATEGORY_DEFAULT. Jika kita tidak mendeklarasikannya dalam filter maksud kita, tidak ada maksud implisit yang akan menyelesaikan aktivitas kita.
Ini digunakan untuk mendeklarasikan beberapa operasi sebagai aksi default (seperti yang disarankan namanya). Mari pertimbangkan kami memiliki aplikasi notepad (mengacu pada contoh notepad android). Halaman pertama aplikasi terdiri dari daftar semua file notepad. Ketika satu file notepad dipilih, salah satu operasi seperti edit catatan, hapus catatan dll dapat dilakukan. Tetapi saya ingin menjadikan edit sebagai tindakan default saya yang berarti ketika saya menekan tombol tengah keypad saya, jendela edit harus terbuka.
https://developer.android.com/guide/components/intents-filters
Untuk menerima maksud implisit, Anda harus menyertakan kategori CATEGORY_DEFAULT dalam filter maksud. Metode startActivity () dan startActivityForResult () memperlakukan semua maksud seolah-olah mereka mendeklarasikan kategori CATEGORY_DEFAULT. Jika Anda tidak mendeklarasikan kategori ini dalam filter maksud Anda, tidak ada maksud implisit yang akan menyelesaikan aktivitas Anda.
kategori:
android.intent.category.DEFAULT
Cocok dengan Intent implisit apa pun. Kategori ini harus disertakan agar Aktivitas Anda menerima Maksud implisit apa pun.