2017-11-15 23 views
0

私はバックグラウンドサービスを実装しました。デバイスを起動すると、バックグラウンドサービスが開始され、トーストメッセージが表示されます。私はサービスが実行中に5秒ごとにトーストメッセージを表示したい。次のコードは、仕事をしているように見えるしません:Xamarin.androidのバックグラウンドサービスで5秒ごとにトーストメッセージを表示

[Service] 
    public class BroadcastService : Service 
    { 
     IBinder mBinder; 

     [return: GeneratedEnum] 
     public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId) 
     { 

      Toast.MakeText(this, "BroadcastService Started...", ToastLength.Long).Show(); 

      DoWork(); 

      base.OnStartCommand(intent, flags, startId); 
      return StartCommandResult.Sticky; 


     } 

public void DoWork() 
{ 
    while (true) 
    { 
     Toast.MakeText(this, "BroadcastService is running at each 5 seconds...", ToastLength.Long).Show(); 
     Thread.Sleep(5000); 
    } 
} 

誰かが上記の間違っているものを助言し、Xamarin.androidでこれを達成するために助けてくださいことはできますか?

答えて

0

サービスの実行中に5秒ごとにトーストメッセージが表示されます。次のコードは仕事をしていないようです

が実行されると、DoWorkはもう実行されません。

ご要望に応じて、JobSchedulerJobInfoを一緒に使用して定期的なタスクを作成する必要があります。 JobSchedulerの使い方については、official demo of JobScheduler

を参照してください。
関連する問題