Blame view

src/com/ectrip/cyt/service/UploadLogService.java 3.93 KB
07670a44   黄灿宏   畅游通核销app: 1.增加日志上...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  package com.ectrip.cyt.service;
  
  import android.app.AlarmManager;
  import android.app.PendingIntent;
  import android.app.Service;
  import android.content.Intent;
  import android.os.Environment;
  import android.os.IBinder;
  import android.os.SystemClock;
  import android.text.TextUtils;
  
  import com.ectrip.cyt.config.MyApp;
  import com.ectrip.cyt.constant.ParamContants;
  import com.ectrip.cyt.receiver.AlarmReceiver;
  import com.ectrip.cyt.utils.FtpsTools;
  import com.ectrip.cyt.utils.LogUtil;
  import com.ectrip.cyt.utils.PreferenceUtils;
  import com.ectrip.cyt.utils.ThreadUtils;
  
  
  import java.io.File;
  import java.util.ArrayList;
  import java.util.List;
  
  public class UploadLogService extends Service {
  
      private String TAG = "UploadLogService";
  
      @Override
      public IBinder onBind(Intent intent) {
          return null;
      }
  
      @Override
      public void onCreate() {
          super.onCreate();
      }
  
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          ThreadUtils.getInstance().exeute(new MyRunnable());
  
          AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
  //        int anHour = 6 * 3600 * 1000;
          int anHour = 3 * 3600 * 1000;
  //        int anHour = 120 * 1000;
          long triggerAtTime = SystemClock.elapsedRealtime() + anHour;
          Intent intent1 = new Intent(this, AlarmReceiver.class);
          intent1.setAction(AlarmReceiver.ACTIION_UPLOAD);
          PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
          manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
  
          return super.onStartCommand(intent, flags, startId);
      }
  
      private class MyRunnable implements Runnable {
          @Override
          public void run() {
              try {
                  Thread.sleep(30000);
                  LogUtil.i(TAG, "【开始自动上传日记】");
                  String foldPath = Environment.getExternalStorageDirectory()
                          + File.separator + "ectripLOG" + File.separator + "log_CYT"
                          + File.separator;
                  int countFile = FtpsTools.countFilesInFolder(foldPath);
                  List<String> fileNames = new ArrayList<>();
                  if(countFile > 0){
                      fileNames.add(foldPath + "tdos.log");
                      for(int i=1;i<countFile;i++){
                          if(i >= 6){
                              break;
                          }
                          fileNames.add(foldPath + "tdos.log" + "." + i);
                      }
                  }
  //                String fileName = Environment.getExternalStorageDirectory().getAbsolutePath()
  //                        + File.separator + "EctripAndroid" + File.separator + "log"
  //                        + File.separator + "check.log";
                  String host = PreferenceUtils.getString(MyApp.getInstance(), ParamContants.SET_FPT_HOST);
                  String username = PreferenceUtils.getString(MyApp.getInstance(),ParamContants.SET_FPT_USETR);
                  String password = PreferenceUtils.getString(MyApp.getInstance(),ParamContants.SET_FPT_PASSWORD);
                  String mac = PreferenceUtils.getString(MyApp.getInstance(),ParamContants.SET_mac);
                  String portStr = PreferenceUtils.getString(MyApp.getInstance(),ParamContants.SET_FPT_PORT);
                  if (TextUtils.isEmpty(host) || TextUtils.isEmpty(username) || TextUtils.isEmpty(password) || TextUtils.isEmpty(mac)) {
                      LogUtil.i(TAG, "【FTP参数不全】");
  
  
                      return;
                  }
                  int port;
                  try {
                      port = Integer.parseInt(portStr);
                  } catch (Exception e) {
                      port = 22;
                  }
                  FtpsTools.Sftp_server_multiple(fileNames, host, username, password, mac, port);
  
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }
  }