定期在后台将数据发送到服务器

时间:2018-08-31 09:53:27

标签: android http service background-process scheduler

我想每1分钟在后台将数据发送到服务器。

我尝试使用警报管理器将数据发送到服务器,该警报管理器每隔1分钟调用一次服务。它可以工作一段时间,然后HTTP调用将连续失败并出现超时错误。我怀疑该应用程序已进入打ze模式,无法进行任何网络活动。

public class SyncGPSBroadcastReceiver extends WakefulBroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if (!isMyServiceRunning(SyncGPSService.class, context)) {
        Intent dataBackupService = new Intent(context, SyncGPSService.class);
        startWakefulService(context, dataBackupService);
    }
}

private boolean isMyServiceRunning(Class<?> serviceClass, Context context) {
    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (serviceClass.getName().equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}}

我尝试在进行HTTP调用时在服务中显示通知,但结果相同。

解决此问题的最佳方法是什么?

0 个答案:

没有答案
相关问题