Activity.startLockTask() 从一个 Activity 到另一个 Activity
Activity.startLockTask() from one Activity to another Activity
我正在使用 Activity.startLockTask()
并注意到如果我将屏幕固定在 Activity A 中,我将无法转换到 Activity B。看来我必须 startLockTask()
然后 stopLockTask()
然后 startLockTask()
在 Activity B.
有没有更好的方法来处理这个问题,这样我就可以固定整个应用程序,而不管 Activity 我在做什么?
这是我固定应用程序的方式:
// 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();
}
}
这就是我停止固定的方式
stopLockTask()
这个问题比较难处理,但是解决方法很简单。对于面临同样问题的任何其他人,您所要做的就是将启动模式更改为单一任务。一旦我更新了我的清单,我就能够在无缝更改活动的同时保持固定状态。
android:launchMode="singleTask"
我正在使用 Activity.startLockTask()
并注意到如果我将屏幕固定在 Activity A 中,我将无法转换到 Activity B。看来我必须 startLockTask()
然后 stopLockTask()
然后 startLockTask()
在 Activity B.
有没有更好的方法来处理这个问题,这样我就可以固定整个应用程序,而不管 Activity 我在做什么?
这是我固定应用程序的方式:
// 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();
}
}
这就是我停止固定的方式
stopLockTask()
这个问题比较难处理,但是解决方法很简单。对于面临同样问题的任何其他人,您所要做的就是将启动模式更改为单一任务。一旦我更新了我的清单,我就能够在无缝更改活动的同时保持固定状态。
android:launchMode="singleTask"