4

私は android-priority-job-queue 'com.github.yigit:android-priority-jobqueue' を使用しています。2分ごとに実行されるようにします。以下はコードです

public PoolingJob () {

    // This job requires network connectivity,
    // and should be persisted in case the application exits before job is completed.
    super (new Params (PRIORITY).requireNetwork ().groupBy (Const.POOLING_QUEUE_GROUP)
            .delayInMs (120000).persist ());//120 sec delay
}

ただし、アプリが閉じられるか、メモリから削除されると、中断されます。アプリが閉じられているかメモリから削除されているときに、ジョブを継続的に実行し、2 分ごとにプーリングを行うにはどうすればよいですか。スティッキー サービスやandroid.permission.BIND_JOB_SERVICEのようなものはありますか?

サーバー プーリング システムの構築。上記の API 15 が必要です。

4

3 に答える 3

2

AlarmManagerを使用して、特定の間隔でを送信し、アプリが実行中かどうかに関係なくIntent、ジョブを実行できます。BroadcastReceiver

とはいえ、2 分という間隔は非常に短いため、タスク (特にネットワーク関連) を頻繁に実行することは避ける必要があります。これにより、バッテリーの消耗が大幅に増加します。

于 2016-03-31T18:35:17.927 に答える
0

私があなただったら、代わりに SyncAdapters を調べます。バックグラウンドでも機能するように設計でき、AlarmManager を処理するよりもアーキテクチャ的に優れています。ここでそれらをチェックしてください、Sync Adapters。それらはバッテリー性能に優れています。認証を許可し、プラグイン アーキテクチャをコード ベースに追加します。

于 2016-04-05T13:45:26.157 に答える