Activity.startLockTask() из одного занятия в другое
Я использую Activity.startLockTask()
и заметил, что если я прикреплю экран в Занятии A, я не смогу перейти в Занятие B. Кажется, что мне нужно startLockTask()
а потом 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();
}
}
Вот так я перестаю прикалывать
stopLockTask()
1 ответ
Решение
Эта проблема сложная для решения, но решение очень простое. Для тех, кто сталкивается с той же проблемой, все, что вам нужно сделать, это изменить свой launchMode на одну задачу. После того, как я обновил свой Манифест, я смог остаться на месте, при этом плавно меняя Действия.
android:launchMode="singleTask"