Яка мета використання android.intent.category.DEFAULT
в області Категорія фільтри намірів?
Яка мета використання android.intent.category.DEFAULT
в області Категорія фільтри намірів?
Відповіді:
Категорії використовуються для неявних намірів. Отже, якщо ваша активність може бути запущена неявним наміром, коли жодна інша конкретна категорія не призначена діяльності, фільтр намірів діяльності повинен включати цю категорію. (навіть якщо у фільтрі намірів є інші категорії). Якщо ви впевнені, що вашу діяльність потрібно викликати будь-якою іншою категорією, не використовуйте за замовчуванням.
Якщо встановити категорію за замовчуванням, не означає, що ця активність буде використовуватися за замовчуванням під час запуску програми. Діяльність просто каже системі, що " О, я можу почати роботу, навіть якщо категорія інтенції для початківців встановлена на" Ніщо ! "
Ця категорія в основному використовується для неявних намірів. Якщо ваша діяльність хоче розпочатись із неявного наміру, вона повинна включити цю категорію у свій фільтр.
Я думаю, що термін "дефолт" слід розуміти як " кандидат за замовчуванням ". Якщо дія на фрагмент даних вирішується на декілька видів діяльності, Android представляє користувачеві всіх кандидатів, і користувач може вибрати бажаний за замовчуванням.
Довідка:
http://developer.android.com/guide/components/intents-filters.html
Витяг із цієї сторінки:
Android розглядає всі неявні наміри, передані tostartActivity () так, ніби вони містять принаймні одну категорію: "android.intent.category.DEFAULT" (константа CATEGORY_DEFAULT). Тому заходи, які бажають отримати неявні наміри, повинні включати в свої фільтри намірів "android.intent.category.DEFAULT". (Винятки становлять фільтри з налаштуваннями "android.intent.action.MAIN" та "android.intent.category.LAUNCHER". Вони позначають дії, які починаються з нових завдань і які відображаються на екрані запуску. Вони можуть включати "android.intent .category.DEFAULT "у списку категорій, але це не потрібно.)
Це насправді для того, щоб переконатися, що ваші інші дії можуть бути викликані під час роботи програми. LAUNCHER зробить діяльність, яка в ній є першою, яка починається. Щоб використовувати наміри дістатись до інших видів діяльності, їх потрібно вказати як "фактичні" дії, поставивши DEFAULT. Це те, що я знаю, тому не цитуйте мене, якщо це неправильно.
Діяльність потребує підтримки CATEGORY_DEFAULT, щоб їх можна було знайти Context.startActivity ().
Для отримання неявних намірів потрібно включити категорію CATEGORY_DEFAULT у фільтр намірів. Методи startActivity () та startActivityForResult () трактують усі наміри так, ніби вони оголосили категорію CATEGORY_DEFAULT. Якщо ми не оголосимо це у нашому фільтрі намірів, жодні неявні наміри не вирішать нашу діяльність.
Він використовується для оголошення деякої операції як дії за замовчуванням (як підказує її назва). Розглянемо, що у нас є додаток для блокнотів (посилаючись на зразок блокнота Android). Перша сторінка програми складається зі списку всіх файлів блокнота. Якщо вибрано один файл блокнота, можна виконати одну з таких операцій, як редагування примітки, видалення примітки тощо. Але я хочу зробити редагування як мою дію за замовчуванням, що означає, що коли я натискаю центральну кнопку своєї клавіатури, вікно редагування має бути відкритим.
https://developer.android.com/guide/components/intents-filters
Для отримання неявних намірів потрібно включити категорію CATEGORY_DEFAULT у фільтр намірів. Методи startActivity () та startActivityForResult () трактують усі наміри так, ніби вони оголосили категорію CATEGORY_DEFAULT. Якщо ви не декларуєте цю категорію у своєму фільтрі намірів, ніякі неявні наміри не вирішать вашу діяльність.
категорія:
android.intent.category.DEFAULT
Відповідає будь-якій неявній намірі. Ця категорія повинна бути включена для вашої діяльності, щоб отримати будь-які неявні наміри.