2
我想创建一个后台调度将在服务器发送数据定期。因为我已经在android中创建了服务,它将在1分钟后使用MessageCenter
向Xamarin.Forms
发送消息,以便它可以将数据发送到服务器。保持MessageCenter活着的时候,应用程序中删除最近
涉及将数据发送到服务器的代码驻留到Xamarin.Forms
因此我正在通过MessageCenter
从Xamarin.android
传达给Xamarin.Forms
它运作良好,当应用程序在前台,但是当我从最近删除的应用程序。
MessageCenter
在Xamarin.Forms
订阅,因此当在Xamarin.Android
事件后服务Xamarin.Forms
后,没有人在那里听,并由于我的数据没有得到张贴在服务器上。
Xamarin.Forms代码认购MessageCenter
public void subscribeSyncScheduler()
{
MessagingCenter.Subscribe<IMessage, EventType>(this, RestApi.SYNC_SCHEDULER_EVENT, (sender, arg) =>
{
//SYNC DATA TO SERVER
});
}
服务冒充事件Xamarin.Forms
public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId)
{
Log.Error(TAG, "Sync: Service gets called ");
MessagingCenter.Send<IMessage, EventType>(this, RestApi.SYNC_SCHEDULER_EVENT, null);
}
他们也正在使用MessageCenter和应用进行了删除的时候写的代码在那篇文章中不会工作,所以这个环节没有帮助我 – Hunt
没有必要使用MessagingCenter你可以使用相关服务(指HTTPS调用平台特定的方法从便携式项目: //forums.xamarin.com/discussion/17284/call-platform-apis-via-shared-services的依存服务为例) –
所以你的意思是说,如果我使用事件处理器则它不会死的时候,我会删除我的应用程序最近? – Hunt