Вчера я задал вопрос, так как у меня есть некоторые особые требования, которые кажутся довольно сложными для выполнения с Android.
Я работаю над приложением, которое показывает конфиденциальные данные, и требование состоит в том, что всякий раз, когда другое приложение получает фокус или приложение переходит в фоновый режим из-за нажатия кнопки «Домой», приложение должно переходить на страницу входа.
Приложение также должно перейти на страницу входа в систему, когда нажата кнопка «все открытые приложения» (не уверен в имени), так как это не должно отображать снимок экрана с текущим открытым действием, но должно отображать действие входа в систему.
Я играл с вариантами кода ниже:
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
if(level >= TRIM_MEMORY_UI_HIDDEN && ((!isInputtingPIN && !isLoggedIn) || isLoggedIn)) {
Log.d("AppGlobalData:", "*************** APP WINDOW IS BEING OBSCURED ***************");
Intent login = new Intent(this.currentContext, AppEntryPoint.class);
startActivity(login);
}
}
Это работает, но проблема в том, что при нажатии кнопки «Домой» приложение переходит в фоновый режим, но это срабатывание нового намерения возвращает приложение на передний план. Это также происходит в представлении «все приложения».
Если я отложу срабатывание этого намерения до тех пор, пока приложение не вернется на передний план, это нормально, но приложение не перейдет на страницу входа, пока не вернется в фокус, это означает, что приложение было на странице, показывающей конфиденциальные данные и все приложения кнопка нажата, приложение показывает конфиденциальные данные.
Это было достигнуто в IOS простой реализацией одного метода...
Может ли кто-нибудь сказать мне, как я могу получить намерение изменить действие, но оставить приложение в фоновом режиме?