diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 034ec6a..90877ed 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -44,7 +44,7 @@ - + diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/App.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/App.java index 74a91e9..fded24e 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/App.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/App.java @@ -9,28 +9,41 @@ import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.res.Configuration; import android.content.res.Resources; +import android.os.Environment; import android.util.Log; +import androidx.core.app.ActivityCompat; + import com.alct.mdp.MDPLocationCollectionManager; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.request.net.Api; import com.arpa.hndahesudintocctmsdriver.ui.MainActivity; import com.arpa.hndahesudintocctmsdriver.util.BillLocationUtils; +import com.arpa.hndahesudintocctmsdriver.util.SPUtils; +import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil; import com.dahe.mylibrary.CommonBaseLibrary; +import com.dahe.mylibrary.utils.TimeUtil; import com.dahe.mylibrary.utils.ToastUtils; import com.esign.esignsdk.EsignSdk; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.gyf.cactus.Cactus; import com.gyf.cactus.callback.CactusBackgroundCallback; import com.gyf.cactus.callback.CactusCallback; +import com.permissionx.guolindev.PermissionX; import com.tencent.bugly.crashreport.CrashReport; import com.umeng.commonsdk.UMConfigure; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; + import cn.jiguang.verifysdk.api.JVerificationInterface; -public class App extends Application { +public class App extends Application implements CactusCallback { -// String key = "f9d35b1133cff1f6e3960c89b249e03f"; + // String key = "f9d35b1133cff1f6e3960c89b249e03f"; String key = "19ac0aa74338e487e45057faf7212401"; String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ=="; @@ -41,6 +54,7 @@ public class App extends Application { public static int APP_STATUS = APP_STATUS_KILLED; // 记录App的启动状态 private Context con; public static App mApplication = null; + @Override public void onCreate() { super.onCreate(); @@ -78,29 +92,34 @@ public class App extends Application { } } -// PendingIntent pendingIntent = -// PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); -// Cactus.getInstance() -// .isDebug(true) -// //可选,设置通知栏点击事件 -// .setPendingIntent(pendingIntent) -//// .setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐 -//// .setMusicId(R.raw.main) //可选,设置音乐 -//// .setPendingIntent(pendingIntent)//可选,设置通知栏点击事件 -//// .addCallback(new CactusCallback())//可选,运行时回调 -// .setCrashRestartUIEnabled(true) //可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 -// .setCrashRestartUIEnabled(true)//可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 -// .setTitle("大河好运") -// .setSmallIcon(R.drawable.diver_logo) -// .addBackgroundCallback(new CactusBackgroundCallback() { -// @Override -// public void onBackground(boolean b) { -// if (b){ -// getBillLocation(); -// } -// } -// }) -// .register(this); + PendingIntent pendingIntent = + PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); + Cactus.getInstance() + .isDebug(true) + .setTitle("好运司机") + .setContent("您的接单助手!") + .setChannelId("gld") + .setChannelName("好运司机") + .setServiceId(Integer.MAX_VALUE) + //可选,设置通知栏点击事件 + .setPendingIntent(pendingIntent) + .setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐 + .setMusicId(R.raw.main) //可选,设置音乐 +// .setPendingIntent(pendingIntent)//可选,设置通知栏点击事件 +// .addCallback(new CactusCallback())//可选,运行时回调 + .setCrashRestartUIEnabled(true) //可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 + .setCrashRestartUIEnabled(true)//可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 + .setSmallIcon(R.drawable.diver_logo) + .addCallback(this) + .addBackgroundCallback(new CactusBackgroundCallback() { + @Override + public void onBackground(boolean b) { + if (b) { + getBillLocation(); + } + } + }) + .register(this); } public static App getApp() { @@ -149,4 +168,62 @@ public class App extends Application { return false; } + @Override + public void doWork(int i) { + + + new Timer().schedule(new TimerTask() { + @Override + public void run() { + FileOutputStream fos = null; + try { + String nowString = TimeUtil.getNowString(TimeUtil.DEFAULT_FORMAT); + String content = i + "当前时间:"+nowString; + String fileName = "location" + ".txt"; + + if (Environment.getExternalStorageState().equals( + Environment.MEDIA_MOUNTED)) { + //获取文件输出路径 + String path = Environment.getExternalStorageDirectory() + + "/crashinfo2/"; + //创建文件夹和文件 + File dir = new File(path); + if (!dir.exists()) { + dir.mkdirs(); + } +// File file = new File(path + fileName); +// if (!file.exists()) +// file.createNewFile(); + //创建输出流 + fos = new FileOutputStream(path + fileName,true); + File file = new File(path + fileName); + if (file.exists()){ + fos.write('\r'); + } + //向文件中写出数据 + fos.write(content.toString().getBytes()); + } + + + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (fos != null) { + fos.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + }, 100, 1000); + } + + @Override + public void onStop() { + + } } \ No newline at end of file diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java index 45a0aee..795ca1e 100644 --- a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java +++ b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java @@ -176,7 +176,7 @@ public final class TimeUtil { * 注意:SimpleDateFormat不是线程安全的,线程安全需用{@code ThreadLocal} */ - private static final DateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); + public static final DateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); private static final DateFormat DEFAULT_FORMAT2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZSS:SS", Locale.getDefault()); private static final DateFormat DEFAULT_FORMAT3 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault()); public static final DateFormat DEFAULT_FORMAT4 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault());