Как вручную закрыть панель быстрых настроек, запущенную из Settings.Panel.ACTION_INTERNET_CONNECTIVITY Intent в Android?

Я запускаю намерение Settings.Panel.ACTION_INTERNET_CONNECTIVITY из MainActivity приложения, когда Интернет отключается. Когда пользователь сворачивает приложение, не закрывая Intent, состояние приложения очищается и снова открывается при входе в систему при запуске изpackageManager.getLaunchIntentForPackage. Но если пользователь закроет открытое намерение перед сворачиванием приложения, то приложение можно будет открыть из диспетчера пакетов с текущим состоянием, поскольку оно свернуто.

Я использовал следующий код для запуска панели быстрых настроек.

      val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
startActivityForResult(panelIntent,101)

Может ли кто-нибудь показать способ закрыть намерение Settings.Panel.ACTION_INTERNET_CONNECTIVITY вручную?

1 ответ

Пытаясь решить эту проблему в течение дня, я обнаружил, что эта проблема возникает только в том случае, если мы запускаем намерение из действия. Я попытался запустить это из широковещательного приемника (который у меня уже был) следующим образом:

                      val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
                panelIntent.flags =
                    Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
                context.startActivity(panelIntent)

Теперь намерение автоматически закрывается, когда приложение переходит в фоновый режим. Запуск приложенияpackageManager.getLaunchIntentForPackageработал как положено.

Другие вопросы по тегам