Flutter:创建一个 pdf 文件,显示下载通知并在用户单击通知时打开它

标签 flutter flutter-local-notification

我正在开发一个 flutter 应用程序。我在“下载”文件夹中创建一个 pdf 文件,在“下载”文件夹中创建文件后,使用“local_notification”插件显示通知“下载已完成”。

现在我想在用户点击通知时显示该 pdf。谁能指导我如何做到这一点?

下面是我的代码

final android = AndroidNotificationDetails('0', 'Adun Accounts',
        channelDescription: 'channel description',
        priority: Priority.high,
        importance: Importance.max,
        icon: '');
    final iOS = IOSNotificationDetails();
    final platform = NotificationDetails(android: android, iOS: iOS);

    await flutterLocalNotificationsPlugin.show(
        0, // notification id
        fileName,
        'Download complete.',
        platform);

最佳答案

show() 有一个参数叫做 payload ,你可以在这里传递 pdf 文件的路径。在您的 pubspec.yaml 中添加插件 open_file。然后在 main.dart 中,添加以下代码

FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
    FlutterLocalNotificationsPlugin();

Future<void> initNotification() async {
// initialise the plugin. app_icon needs to be a added as a drawable resource to the Android head project
  const AndroidInitializationSettings initializationSettingsAndroid =
      AndroidInitializationSettings('notification_icon');
  final IOSInitializationSettings initializationSettingsIOS =
      IOSInitializationSettings();
  final MacOSInitializationSettings initializationSettingsMacOS =
      MacOSInitializationSettings();
  final InitializationSettings initializationSettings = InitializationSettings(
      android: initializationSettingsAndroid,
      iOS: initializationSettingsIOS,
      macOS: initializationSettingsMacOS);
  await flutterLocalNotificationsPlugin.initialize(initializationSettings,
      onSelectNotification: (String? payload) {
    if (payload != null) OpenFile.open(payload);
  });
}

注意:这个函数不应该在任何类中。

关于Flutter:创建一个 pdf 文件,显示下载通知并在用户单击通知时打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70902376/

相关文章:

flutter - 如何更改通知flutter_local_notification的背景颜色?

android - 如何使用 flutter 本地通知更改 Android 通知托盘上的图标?

flutter - Flutter 中应用终止时如何处理点击本地通知?

flutter - BannerAd.dispose 不工作 Flutter Admob

database - 将DateTime对象上传到NoSQL数据库时出错

flutter - BottomNavigationBar 标题未显示在 Flutter 中

flutter - 在应用程序进入后台的那一刻在 Flutter 上显示本地通知

Flutter 聊天文本像 Whatsapp 或 Telegram 一样对齐

firebase - Flutter 如何使用每个文档编号的字段对集合中的文档进行排序

Flutter 本地通知声音适用于除 Samsung A50 Android 11 之外的大多数设备