我正在开发一个应用,当设备连接到互联网时,它将按顺序将所有数据库记录上传到服务器的后台中。
为此,我编写了一个“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 的)?为什么?