当app从最近删除时,保持MessageCenter存活

时间:2017-05-05 07:15:50

标签: c# xamarin.android xamarin.forms

我正在尝试创建一个后台调度程序,它将定期在服务器上发送数据。因为我已经在android中创建了服务,它将在1分钟后使用Xamarin.FormsMessageCenter发送消息,以便它可以将数据发送到服务器。

与向服务器发送数据相关的代码位于Xamarin.Forms,因此我通过MessageCenterXamarin.androidXamarin.Forms进行通信

当应用程序处于前台时,但是当我从最近删除应用程序时,它运行良好。

MessageCenter中订阅的

Xamarin.Forms因此在Xamarin.Android发布活动到Xamarin.Forms时服务时没有人在那里听,因为我的数据没有发布到切断

订阅MessageCenter的Xamarin.Forms代码

 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);

           }

1 个答案:

答案 0 :(得分:0)

参考http://arteksoftware.com/backgrounding-with-xamarin-forms/

使用Android后台服务&amp; iOS背景线程 使用Dependency Service即使在应用程序最小化或被杀之后也可以运行任务