如何在向下滑动时显示通知面板

问题描述 投票:0回答:2

我正在 flutter 中制作一个启动器,我想在主屏幕上向下滑动时显示通知面板。

我正在尝试使用 flutter_local_notifications 包,但我不知道该怎么做,

 GestureDetector(
     onVerticalDragDown: (details) {
     // how do launch notification panel ?
     }
 )
      

编辑:

示例如下:https://i.stack.imgur.com/rJBCF.gif

flutter notifications swipe
2个回答
0
投票

--- 首先我的评论作为一个问题---
如果我没记错的话,我只是在包中偷偷摸摸,是为了向用户发送一些通知。和面板没关系。该面板本身是 Android 的原始面板。如果您只想为您的应用程序创建一个面板,您必须自己编写一个面板或使用一个库。

--- 然后以你的第二条评论作为答案---
您可以从任何应用程序下拉面板。我什至没有找到任何设置来关闭它。因此,要使用/显示您的面板,只需从手机/模拟器的屏幕最顶部向下拖动即可。


0
投票

我通过方法通道调用原生方法解决了问题

在您的

MainActivity.kt
中创建一个扩展通知面板的功能

private fun expandNotif() {
        val currentApiVersion = Build.VERSION.SDK_INT
        try {
            val service = getSystemService(Context.STATUS_BAR_SERVICE)
            val statusbarManager = Class.forName("android.app.StatusBarManager")

            val expandMethod: Method =
                    if (currentApiVersion <= Build.VERSION_CODES.N) {
                        statusbarManager.getMethod(EXPAND_METHOD)
                    } else {
                        statusbarManager.getMethod(EXPAND_NOTIFICATIONS_PANEL_METHOD)
                    }

            expandMethod.invoke(service)
        } catch (e: Exception) {
            // Handle exception appropriately for your application
        }
    }

然后通过方法通道调用该函数

© www.soinside.com 2019 - 2024. All rights reserved.