2017-05-05 3 views
2

サーバ上で定期的にデータを送信するバックグラウンドスケジューラを作成しようとしています。そのために私はXamarin.FormsMessageCenterを使って1分後にメッセージを送信し、サーバーにデータを送信できるようにアンドロイドでサービスを作成しました。サーバーにデータをされた送信に関連最近アプリから削除したときにMessageCenterを有効にしておきます

コードので、私はXamarin.androidからXamarin.Forms

MessageCenterを介して通信していますXamarin.Formsに常駐し、私は最近からアプリを削除するとアプリがフォアグラウンドであるが、とき、それはうまく動作します。 Xamarin.FormsからXamarin.Androidポストイベントでのサービスは、誰もが耳を傾け、原因私のデータはサーバ上に掲載取得されていないことには存在しない場合にXamarin.Formsに加入し

MessageCenterが故に死にます。サービスは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); 

      } 

答えて

0

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

使用Androidの依存関係を使用して スレッディング背景サービス& iOSの背景を参照してくださいにイベントを装っているMessageCenter

public void subscribeSyncScheduler() 
     { 
      MessagingCenter.Subscribe<IMessage, EventType>(this, RestApi.SYNC_SCHEDULER_EVENT, (sender, arg) => 
      { 

       //SYNC DATA TO SERVER 



      }); 

     } 

購読する

Xamarin.Formsコードアプリが最小化または終了した後でもタスクを実行するサービス

+0

彼らはあまりにもMessageCenterを使用しているとアプリが削除され、その記事で書かれたコードは機能しないので、このリンクは役に立たない – Hunt

+0

MessagingCenterを使用する必要はありませんが、Dependency Service(https: //forums.xamarin.com/discussion/17284/call-platform-apis-via-shared-services for Dependency Service) –

+0

あなたは、私がEventHandlersを使用すると、アプリケーションを削除するときに死ぬことはないと言っています最近ですか? – Hunt

関連する問題