flutter-local-notification - 推送通知的自定义声音不起作用
问题描述
我为推送通知添加了自定义声音,但它不起作用。我卸载并安装了该应用程序,但仍然无法正常工作。它没有显示任何错误,默认通知也有效。你能告诉我我在哪里失踪吗?
late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
static const AndroidNotificationChannel channel = AndroidNotificationChannel(
'high_importance_channel', // id
'High Importance Notifications', // title
'This channel is used for important notifications.', // description
sound: RawResourceAndroidNotificationSound('digitalalarm'),
playSound: true,
importance: Importance.high,
);
Future<void> initializeService() async {
flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
const InitializationSettings initializationSettings =
InitializationSettings(android: initializationSettingsAndroid);
tz.initializeTimeZones();
tz.setLocalLocation(tz.getLocation('Asia/Kolkata'));
await flutterLocalNotificationsPlugin.initialize(
initializationSettings,
onSelectNotification: (payload) async {
if (payload != null && payload.isNotEmpty) {
if (await canLaunch(payload)) {
await launch(
payload,
forceSafariVC: false,
);
} else {
throw "Could not launch URL";
}
}
},
);
Future<void> scheduleNotification(Class _class) async {
{
await flutterLocalNotificationsPlugin.zonedSchedule(
((_class.deadline?.millisecondsSinceEpoch) ?? 0) ~/ 60000,
'Reminder: ${_class.subject}',
'Your assignment is due in 10 minutes',
// ignore: cast_nullable_to_non_nullable
tz.TZDateTime.from(
_class.deadline?.subtract(const Duration(minutes: 10)) ??
DateTime.now(),
tz.local,
),
NotificationDetails(
android: AndroidNotificationDetails(
_class.id,
_class.subject,
'${_class.subject} Assignment reminder',
importance: Importance.max,
priority: Priority.high,
showWhen: false,
color: _class.color,
),
),
androidAllowWhileIdle: true,
uiLocalNotificationDateInterpretation:
UILocalNotificationDateInterpretation.absoluteTime,
payload: _class.link,
);
notifyListeners();
}
}
解决方案
推荐阅读
- powerbi - 在 Power BI 中创建日历表,其中第一个日期是 4 年前财政年度的开始
- android - 安装失败,原因是:'null' - Android Studio 3.5
- angular - Google 登录不适用于 Angular SSR Build
- windows - 用于从标准输入读取的 Win32 缓冲区大小
- groovy - 无法使用管道脚本在 jenkins 中发布 spotbug
- asp.net - 如何在两台不同物理分离的机器上配置 Web 服务器(IIS)和 App Server(.Net)
- php - 删除 jQuery 完整日历事件的验证问题
- javascript - 从接口导出枚举
- javascript - XMLHttpRequest() POST 请求中存储的数据在哪里?在 Node.js 服务器端阅读?
- javascript - mac中的extraResources在哪里?