Вчера я опубликовал вопрос, поскольку у меня есть некоторые конкретные требования, которые, как представляется, довольно сложно достичь с помощью android.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 просто реализует один метод ...
Может кто-нибудь сказать мне, как я могу получить намерение изменить свою деятельность, но держать приложение в фоновом режиме?
Эй, спасибо, я на самом деле в середине что-то делать именно так, как вы описываете, пытаясь использовать отслеживание состояния переменной и onWindowFocusChanged, затем накладывая мой текущее представление содержимого активности с определенным для скрытия содержимого экрана в onPause. Затем после этого я всегда отправляю пользователя обратно для входа, когда приложение восстанавливает фокус. Это был процесс проб и ошибок, хотя, спасибо! – berimbolo