我正在使用Activity.startLockTask()
,并注意到如果我将屏幕固定在活动A中,我将无法转换为活动B.似乎我必须startLockTask()
然后{{1}然后在活动B上再次stopLockTask()
。
有没有办法更好地处理这个问题,以便我可以固定整个应用程序,无论我在做什么活动?
这就是我固定应用的方式:
startLockTask()
这就是我停止固定的方式
// start lock task mode if it's not already active
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// ActivityManager.getLockTaskModeState api is not available in pre-M
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
if (!am.isInLockTaskMode()) {
startLockTask();
}
} else {
if (am.getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_NONE) {
startLockTask();
}
}
答案 0 :(得分:2)
这个问题是一个难以处理的问题,但解决方案非常简单。对于遇到同样问题的其他人,您所要做的就是将launchMode更改为单个任务。一旦我更新了我的Manifest,我就可以在无缝更改活动时保持固定状态。
android:launchMode="singleTask"