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 fileNames = new ArrayList<>(); if(countFile > 0){ fileNames.add(foldPath + "tdos.log"); for(int i=1;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(); } } } }