保持Android应用在后台运行,防止其停止/死亡

时间:2014-09-23 05:17:13

标签: c# android xamarin backgrounding

我创建了一个应该在后台继续工作的应用。这似乎在一段时间内工作正常,但如果我长时间不使用手机,我发现它已停止工作,打开后再启动。

所有我的搜索引导我发布关于如何让我的应用程序在后台运行的帖子,它做得很好(我基本上只从Xamarin教程中拉出了整个部分),但由于某种原因它只是决定在一个之后停止时间。

有没有办法强制/确保应用程序在后台继续运行?

3 个答案:

答案 0 :(得分:1)

如果您希望自己的应用继续在后台执行计算,则应选择Service ( documentation )。尽管应用程序已关闭,您仍可以选择构建仍在后台运行的服务。

[Service]
public class DemoService : Service
{
      public override StartCommandResult OnStartCommand (Android.Content.Intent intent, StartCommandFlags flags, int startId)
{
        var t = new Thread (() => {
                Log.Debug ("DemoService", "Doing work");
                Thread.Sleep (5000);
                Log.Debug ("DemoService", "Work complete");
                StopSelf ();
        }
        );
        t.Start ();
        return StartCommandResult.Sticky;
}
}

如果您的意思是"继续在后台工作",您的应用应该从正确的片段/活动重新开始,您应该检查如何保存您的州。 (documentation

答案 1 :(得分:0)

用户服务并执行您想要的任务,即使应用程序从后台关闭,服务也会在后台运行。

答案 2 :(得分:0)