【发布时间】:2020-11-26 09:03:58
【问题描述】:
我正在使用颤振本地通知插件来通知用户事件开始。
所有事件都以日期和时间存储在 firebase 中。
如果用户将事件添加到他的日程表中,他会收到通知。
我的问题是本地通知插件在参数中需要一个 int,而在 firebase 中我的 id 类型为 String(该事件与另一个生成 String ID 的 webapp 一起添加到 firebase)。
那么有没有办法在颤振中使通知与字符串 ID 一起工作?
这是数据库:
lass DetailScreen extends StatefulWidget {
final String id;
DetailScreen(this.id);
@override
_DetailScreenState createState() => _DetailScreenState();
}
class _DetailScreenState extends State<DetailScreen> {
String firstHalf;
String secondHalf;
bool flag = true;
int selectedValue;
bool isScheduled = false;
bool isLoading = true;
initState() {
selectedValue = 0;
Future.delayed(Duration(seconds: 0), () async {
await getStatus();
final response = await flutterLocalNotificationsPlugin
.getNotificationAppLaunchDetails();
if (response.didNotificationLaunchApp) {
await Provider.of<ShowsModel>(context, listen: false).getShows();
await Provider.of<ChannelModel>(context, listen: false).getChannels();
}
setState(() {
isLoading = false;
});
});
super.initState();
}
showNotification(String title, DateTime showTime) async {
var android = AndroidNotificationDetails(
'channel id', 'channel name', 'channel description',
enableVibration: true,
playSound: true,
importance: Importance.High,
priority: Priority.High);
var iOS = IOSNotificationDetails();
var platform = NotificationDetails(android, iOS);
new DateTime.now().add(Duration(seconds: 10));
await flutterLocalNotificationsPlugin.schedule(
int.parse(widget.id),
title,
'The show is about to start in 15 minutes',
showTime.subtract(Duration(minutes: 15)),
platform,
payload: widget.id);
}
【问题讨论】:
标签: flutter android-notifications