3

バックグラウンドで動作し続けるアプリを作成しました。これはしばらくは問題なく動作しているように見えますが、電話を長時間使用しないと、動作が停止し、開くと再び起動します。

私の検索はすべて、アプリをバックグラウンドで実行する方法に関する投稿につながりますが、それはうまくいきます (基本的に、Xamarin チュートリアルからその部分全体を引っ張っただけです)。

アプリがバックグラウンドで実行され続けることを強制/保証する方法はありますか?

4

3 に答える 3

3

アプリがバックグラウンドで計算を実行し続けるようにする場合は、 Service (ドキュメント)を選択する必要があります。アプリケーションが閉じられているにもかかわらず、バックグラウンドで引き続き実行されるサービスを構築することを選択できます。

[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;
}
}

「バックグラウンドで作業を続ける」ことを意味する場合は、アプリを正しいフラグメント/アクティビティから再起動する必要があるため、状態を保存する方法を確認する必要があります。(ドキュメント)

于 2014-09-23T09:12:53.313 に答える
0

ユーザー サービスを実行し、その中で必要なタスクを実行します。アプリがバックグラウンドから閉じられていても、サービスはバックグラウンドで実行されます。

于 2014-09-23T05:19:52.357 に答える
0

以下を参考にしてください。

http://developer.android.com/guide/components/services.html

https://developer.android.com/training/run-background-service/create-service.html

ただし、起動時には、サンプルに従うだけで済みます: http://www.tutorialspoint.com/android/android_services.htm

于 2014-09-23T05:23:33.477 に答える