デバイスがインターネットに接続されているときに、すべてのデータベース レコードをバックグラウンドでサーバーに順次アップロードするアプリに取り組んでいます。
このBroadcastReceiver
ために、ネットワーク接続をリッスンする を作成しました。このレシーバーがトリガーされると、レコードをアップロードするためのバックグラウンド サービスが開始されます。
これが私のコードです。
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
AppUtils.checkInternetConnection(context));
//If the device has the internet connection and if there are any pending records to upload to server then start the service for uploading the records.
if (AppUtils.checkInternetConnection(context)) {
if (Database.getInstance().getTotalRecordsCount() > 0) {
context.startService(new Intent(context, SurveyUploadService.class));
}
} else {
context.stopService(new Intent(context, SurveyUploadService.class));
}
}
}
今、私の疑問は
1. JobSchedulerを使用して同じことを行うことはできますか?
2.より良い(私のものまたはJobSchedulerを使用するもの)アプローチとその理由は何ですか?