Мне нужен совет по строке состояния. Мне нужна служба, которая будет слушать, чтобы увидеть, открыта ли панель уведомлений (ящик). Если да, то закроется. Я не могу думать ни о чем другом, кроме как сделать строку состояния custum и прослушать onWindowFocusChanged. Однако он захватывает оверлей, но не вытягивает панель уведомлений.
Вы можете мне помочь?
@SuppressLint("WrongConstant")
fun setExpandNotificationDrawer(context: Context, expand: Boolean) {
try {
val statusBarService = context.getSystemService("statusbar")
val methodName =
if (expand)
if (Build.VERSION.SDK_INT >= 17) "expandNotificationsPanel" else "expand"
else
if (Build.VERSION.SDK_INT >= 17) "collapsePanels" else "collapse"
val statusBarManager: Class<*> = Class.forName("android.app.StatusBarManager")
val method: Method = statusBarManager.getMethod(methodName)
method.isAccessible = true
method.invoke(statusBarService)
} catch (e: Exception) {
e.printStackTrace()
}
}