У вас есть еще одна проблема.
Наше приложение начинается с активности вкладки. Но перед тем, как пользователь сможет войти в операцию табуляции, чтобы выполнить работу, мы должны проверить, не вошли ли они в систему. Этот логин требуется для всех действий в активности вкладок. Таким образом, вместо проверки безопасности во всех действиях мы создали собственную абстрактную "активность" и активировали действия табуляции, которые расширяют нашу пользовательскую деятельность.
Наша "проверка безопасности" (просто посмотрите, есть ли у них ключ входа и маркер входа в Preferences) помещается внутри onResume() абстрактной активности. Если какая-либо из этих проверок вернется с ошибкой, мы отменим действие входа и используем диалог на этом экране. (Мы делаем это, потому что мы не хотим, чтобы пользователь мог видеть данные на вкладках, если они не вошли в систему, поэтому это действие входа - черный фон с диалогими для имени пользователя/пароля). Проблема заключается в том, что onResume() абстрактной активности вызывается много раз и многократно запускает функцию входа в систему.
Мы попытались установить флаги "singleInstance" и singleTask в xml для активности входа, но действие заканчивается вызовом onActivityResult, прежде чем он даже будет отображаться на экране.
Узнал, что здесь происходит. Когда пользователь запустил приложение в вертикальном режиме, приложение перешло непосредственно на экран входа в систему, а onResume вызывается только один раз, как и ожидалось. Но если пользователь запустил телефон по горизонтали, телефон выполнил бы вертикальный вызов через onResume, и до того, как телефон фактически запустит экран входа в систему, он будет работать через onResume по горизонтали. Единственный способ, которым я мог подумать об этом, - использовать статический экземпляр экземпляра, который будет увеличиваться, когда действия onCreate и decment при вызове onDestroy. Этот экземпляр экземпляра затем был добавлен в мой оператор if вместе с проверкой ключа и маркера, чтобы увидеть, был ли уже запущен один экземпляр.
Это решило мою проблему. Спасибо за предложения, хотя!
Кажется, что ваша проверка безопасности возвращает false, если это не так. В описанной логике проверки безопасности пользователю будет предложено только активировать операцию входа, если проверка безопасности вернет значение false. Поэтому их не следует запрашивать несколько раз. Я бы начал с вашей проверки безопасности и убедиться, что вы правильно проверяете свое состояние входа.