我是Xamarin平台的新手。我正在使用Xamarin.forms开发Android平台应用程序。如何在后台与我的服务器同步数据。我希望在互联网连接可用时立即上传数据,并在那时无论用户在做什么。
以下是我尝试过的示例服务代码
[Service]
public class LongRunningTaskService : Service
{
public override IBinder OnBind (Intent intent)
{
return null;
}
public override StartCommandResult OnStartCommand (Intent intent, StartCommandFlags flags, int startId)
{
// start a task here
new Task (() => {
// long running code
DoWork();
}).Start();
return StartCommandResult.Sticky;
}
public override void OnDestroy ()
{
base.OnDestroy ();
}
public void DoWork ()
{
while (true)
{
//Printing text for checking if service is continously running or not
Log.Write ("Hello");
Thread.Sleep (5000);
}
}
}
现在开始这项服务我已经在我的Activity类
上使用了以下代码this.StartService (new Intent (this, typeof(LongRunningTaskService)));
那么这个任务就是在每个5secs中将该示例文本写入文件中,但问题是如果用户使用移动设备的最近活动按钮关闭该应用程序,则该任务也会停止并在日志文件中写入文本停了。
我需要及时继续运行该任务,一旦互联网连接可用并且有一些本地数据要上传到服务器上,它应该上传数据并继续检查本地设备上的新文件
谢谢