【问题标题】:Examples of when to use launchMode = "singleInstance"何时使用 launchMode = "singleInstance" 的示例
【发布时间】:2014-08-19 09:07:50
【问题描述】:
我正在寻找何时使用launchMode="singleInstance" 的具体示例。我到处阅读,都说很少有场合应该使用它。所以我很惊讶我从来没有看到过例子!
我找到的最接近的解释是here,上面写着:
[it] 只能在完全作为一个活动实现的应用程序中使用
但如果是这样的话,我想知道为什么它在官方 Android 文档中从未如此简洁地表述过。
所以我的问题是:
- 这真的是唯一应该使用
singleInstance 的情况吗?
- 是否存在以上不足以成为使用
singleInstance 的充分理由的情况?
- 使用
singleInstance 是个好主意的具体示例
- 不当使用
singleInstance会产生不良副作用,例如this question
【问题讨论】:
标签:
android
single-instance
launchmode
【解决方案1】:
据this文章:
一次只有一个 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"/>
这里是link。