Как проверить, открыта ли какая-либо деятельность в настоящее время или нет - PullRequest
0 голосов
/ 03 июля 2019

В моем приложении для Android из фонового сервиса я хочу запустить активность с прозрачным фоном. Из-за того, что приложение прозрачно, я всегда хочу, чтобы оно отображалось на каком-либо другом действии из моего приложения. Поэтому перед запуском мне нужно как-то проверить, открыта ли какая-либо активность в данный момент, а если нет, то открыть домашнюю активность, и после этого мою прозрачную активность. Но если приложение уже открыто, я хочу открыть новое действие поверх самого последнего.

Как я мог этого достичь? Единственное, что я нашел, это как проверить, находится ли мое приложение на переднем плане или нет. Но когда мое приложение работает в фоновом режиме, я все же хотел бы открыть свою прозрачную активность поверх самой последней активности.

1 Ответ

0 голосов
/ 05 июля 2019
class FirebaseDbApplication : Application() {
    override fun onCreate() {
        super.onCreate()
    }

    companion object{

        private var sIsChatActivityOpen = false

        fun isChatActivityOpen() : Boolean {
            return sIsChatActivityOpen
        }

        fun setChatActivityOpen(isChatActivityOpen: Boolean) {
            this.sIsChatActivityOpen = isChatActivityOpen
        }

    }
}

// В вашей деятельности

 override fun onResume() {
        super.onResume()
        FirebaseDbApplication.setChatActivityOpen(true)
    }

    override fun onPause() {
        super.onPause()
        FirebaseDbApplication.setChatActivityOpen(false)
    }

// Для проверки активность открыта или нет

if (FirebaseDbApplication.isChatActivityOpen()) {
   // Activity is opened 
}
else{
   // Activity is closed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...