flutter - Flutter iOS进入后台,计时器未运行
问题描述
嗨,我有一个用于颤振的 iOS 应用程序。我有一个计时器计划每 30 秒运行一次以显示推送通知。当应用程序处于前台时,它工作正常。
当应用程序进入后台 ( AppLifecycleState.paused
) 时,推送通知不再每 30 秒出现一次。进入后台后计时器是否停止运行?我做错了吗?
import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class _HomeState extends State<Home>{
Timer notiTimer;
@override
initState() {
super.initState();
startTimer();
}
@override
void dispose(){
notiTimer.cancel();
}
void startTimer(){
notiTimer = Timer.periodic(Duration(seconds: 30), (timer) {
showNotification()
});
}
Future<void> showNotification() async {
var androidPlatformChannelSpecifics = AndroidNotificationDetails(
'your channel id', 'your channel name', 'your channel description',
importance: Importance.Min, priority: Priority.Min, ticker: 'ticker');
var iOSPlatformChannelSpecifics = IOSNotificationDetails();
var platformChannelSpecifics = NotificationDetails(
androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await _flutterLocalNotificationsPlugin.show(
0,
'Mobile App',
'Notification Appear',
platformChannelSpecifics,
payload: '');
}
}
解决方案
推荐阅读
- python - 如何旋转行的唯一值并标记其出现?
- python - 如何将 JSON MySQL 列查询到字典中?
- javascript - 使用 webNavigation.onCommitted 将脚本注入网页
- r - data.table 问题:如何不覆盖原始数据框
- python-requests - 在 Python 中调用 AWS API 网关时出现 403 禁止错误
- sql - 从列返回第一个非空结果
- python - 为什么在一个大矩阵 $M$ 上的 NumPy 减法比将 $M$ 分成更小的矩阵然后减法时要慢?
- ionic-framework - 自定义 ngx-translate 加载器,接收无法设置未定义的属性“http”
- python - 如果我们已经有它的实例,如何优化相关对象的延迟加载?
- python - 使用特定列中的数据的某些条件删除数据框中的重复行