当前位置:   article > 正文

Flutter桌面软件开发中实现本地通知_flutter windows桌面应用接收消息

flutter windows桌面应用接收消息

Flutter桌面软件开发中实现本地通知可以使用local_notifier ,local_notifier这个插件允许 Flutter 桌面 应用显示本地通知。详情源自:Dart Flutter入门实战基础教程下载地址-2024年更新

381633085.bmp

Flutter桌面软件开发中实现本地通知 第一步安装依赖

  1. dependencies:
  2. local_notifier: ^0.1.5

Flutter桌面软件开发中实现本地通知 第二步配置插件

1、main方法配置

  1. void main() async{
  2. runApp(const MyApp());
  3. //配置异步通知
  4. await localNotifier.setup(
  5. appName: 'IT营',
  6. // 参数 shortcutPolicy 仅适用于 Windows
  7. shortcutPolicy: ShortcutPolicy.requireCreate,
  8. );
  9. }

2、用到的地方弹窗

  1. LocalNotification notification = LocalNotification(
  2. title: "local_notifier_example",
  3. body: "hello flutter!",
  4. );
  1. Widget build(BuildContext context) {
  2. return Scaffold(
  3. body: Center(
  4. child: Column(
  5. crossAxisAlignment: CrossAxisAlignment.center,
  6. children: [
  7. ElevatedButton(
  8. onPressed: () {
  9. //通知完结
  10. LocalNotification notification = LocalNotification(
  11. title: "local_notifier_example",
  12. body: "hello flutter!",
  13. );
  14. notification.onShow = () {
  15. print('onShow ${notification.identifier}');
  16. };
  17. notification.onClose = (closeReason) {
  18. // 只支持在windows,其他平台 closeReason 始终为 unknown。
  19. switch (closeReason) {
  20. case LocalNotificationCloseReason.userCanceled:
  21. // do something
  22. break;
  23. case LocalNotificationCloseReason.timedOut:
  24. // do something
  25. break;
  26. default:
  27. }
  28. print('onClose - $closeReason');
  29. };
  30. notification.onClick = () {
  31. print('onClick ${notification.identifier}');
  32. };
  33. notification?.onClickAction = (actionIndex) {
  34. print(
  35. 'onClickAction ${notification?.identifier} - $actionIndex');
  36. };
  37. notification.show();
  38. },
  39. child: Text("显示notification"))
  40. ],
  41. ),
  42. ),
  43. );
  44. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/493960
推荐阅读
相关标签
  

闽ICP备14008679号