问题描述
我已经尝试了几天的解决方案,总是在11.59pm发送数据,为此,我使用Flutter cron作业插件, 但是,当我关闭我的应用程序时,除了在应用程序运行时什么都没有发生,这就是为什么我使用Flutter workmanager插件来帮助我在后台执行代码,但是我无法将cron作业与workmanager链接
@override
_HomePageState createState() => _HomePageState();
}
const fetchBackground = "Walk&Win²";
void callbackdispatcher() {
Workmanager.executeTask((task,UserData) async {
switch (task) {
case fetchBackground:
print('DATA SAVED BACK::::: Done');
break;
}
return Future.value(true);
});
}
class _HomePageState extends State<HomePage> {
@override
void initState() {
Workmanager.initialize(callbackdispatcher,isInDebugMode: true);
Workmanager.registerPeriodicTask("1",fetchBackground,frequency: Duration(minutes: 15));
super.initState();
}
saveDataUser() async {
Map<String,dynamic> UserData = {
'distance': distance,'mobile': mobileUser,'pas': points,'ieme': _identifier,};
Map<String,String> RequestHeaders = {
'Accept-Encoding': 'gzip,deflate,br','Connection': 'keep-alive','Accept': '*/*','Content-Type': 'application/json',};
var response = await http.post(
"http://197.5.145.80:8089/walkwin/userActivities/save",body: json.encode(UserData),headers: RequestHeaders,);
if(response.statusCode == 200){
print('STATUS DATASAVE: ${response.statusCode}' );
print('DATA ::::: ${points.toStringAsFixed(2)}');
} else {
print('ELSE'+response.body);
}
}
var cron = new Cron();
@override
Widget build(BuildContext context) {
cron.schedule(new Schedule.parse('*/1 * * * *'),() async {
saveDataUser();
print('DATA SAVED SEND::::: $points & $distance');
});}```
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)