我想每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调用时在服务中显示通知,但结果相同。
解决此问题的最佳方法是什么?