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