Примеры того, когда использовать launchMode = "singleInstance"

Я ищу конкретные примеры того, когда использовать launchMode="singleInstance", Везде, где я читаю, говорится, что очень мало случаев, когда его следует использовать. Так что я поражен, что никогда не вижу примеров!

Самое близкое объяснение, которое я нашел, здесь, где оно говорит:

[it] следует использовать только в приложениях, которые полностью реализованы как одно действие

Но если это так, я удивляюсь, почему это так кратко не сформулировано в официальной документации Android.

Итак, мой вопрос:

  1. Это действительно единственный случай, когда singleInstance должен быть использован?
  2. Есть ли ситуации, когда вышесказанное НЕ является достаточной причиной для использования singleInstance?
  3. Конкретные примеры использования singleInstance хорошая идея
  4. Нежелательные побочные эффекты использования singleInstance неуместно, такой как этот вопрос

1 ответ

По этой статье:

Только одно действие AlarmAlert за раз, и это всегда его собственная задача. Все, что он может запустить (если что-нибудь), становится частью отдельного стека задач.

Но эта информация устарела. Я обнаружил, что зефир использует com.android.deskclock.timer.TimerAlertFullScreen как действие с режимом запуска singleInstance.

<activity
             android:name="com.android.deskclock.timer.TimerAlertFullScreen"
             android:excludeFromRecents="true"
             android:theme="@style/TimerAlertFullScreenTheme"
             android:launchMode="singleInstance"
             android:showOnLockScreen="true"
             android:taskAffinity=""
             android:configChanges="screenSize|keyboardHidden|keyboard|navigation"/>

Вот ссылка.

Другие вопросы по тегам