我正在 flutter 中制作一个启动器,我想在主屏幕上向下滑动时显示通知面板。
我正在尝试使用 flutter_local_notifications 包,但我不知道该怎么做,
GestureDetector(
onVerticalDragDown: (details) {
// how do launch notification panel ?
}
)
编辑:
--- 首先我的评论作为一个问题---
如果我没记错的话,我只是在包中偷偷摸摸,是为了向用户发送一些通知。和面板没关系。该面板本身是 Android 的原始面板。如果您只想为您的应用程序创建一个面板,您必须自己编写一个面板或使用一个库。
--- 然后以你的第二条评论作为答案---
您可以从任何应用程序下拉面板。我什至没有找到任何设置来关闭它。因此,要使用/显示您的面板,只需从手机/模拟器的屏幕最顶部向下拖动即可。
我通过方法通道调用原生方法解决了问题
在您的
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
}
}
然后通过方法通道调用该函数