Flutter:创建一个 pdf 文件,显示下载通知并在用户单击通知时打开它
Flutter: Create a pdf file, show download notification and Open it when user click on 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);
});
}
注意:此函数不应在任何 class.
内
我正在开发一个 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);
});
}
注意:此函数不应在任何 class.
内