3

我正在寻找何时使用的具体示例launchMode="singleInstance"。我到处阅读,都说很少有场合应该使用它。所以我很惊讶我从来没有看到过例子!

我找到的最接近的解释是在这里它说:

[它] 应该只用在完全作为一个活动实现的应用程序中

但如果是这样的话,我想知道为什么它在官方 Android 文档中从未如此简洁地表达过。

所以我的问题是:

  1. 这真的是唯一singleInstance应该使用的情况吗?
  2. 是否存在上述情况不足以成为使用的理由singleInstance
  3. 使用singleInstance是个好主意的具体示例
  4. 不当使用的不良副作用singleInstance,例如这个问题
4

1 回答 1

1

根据这篇文章:

一次只有一个 AlarmAlert 活动,它始终是它自己的任务。它可能启动的任何东西(如果有的话)都会成为单独任务堆栈的一部分。

但此信息已被弃用。我发现 Marshmallow 正在com.android.deskclock.timer.TimerAlertFullScreen用作具有单实例启动模式的活动。

<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"/>

这是链接

于 2016-08-23T09:40:02.187 回答