Как вручную закрыть панель быстрых настроек, запущенную из 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
работал как положено.