Browse Source

1.修改策略调用,直接在startWorkManager时启动,其余默认策略调用移除防止启动时多次调用。

2.联想TB223FC机型修改应用安装路径。
2025_1_17_tb223fc
wangwanlei 3 weeks ago
parent
commit
9fd769faab
1 changed files with 76 additions and 62 deletions
  1. 76
    62
      app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt

+ 76
- 62
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt View File

20
 import android.net.ConnectivityManager
20
 import android.net.ConnectivityManager
21
 import android.os.Build
21
 import android.os.Build
22
 import android.os.Bundle
22
 import android.os.Bundle
23
+import android.os.Environment
23
 import android.provider.Settings
24
 import android.provider.Settings
24
 import android.util.Log
25
 import android.util.Log
25
 import android.util.TypedValue
26
 import android.util.TypedValue
113
 import java.util.Timer
114
 import java.util.Timer
114
 import java.util.TimerTask
115
 import java.util.TimerTask
115
 import java.util.concurrent.TimeUnit
116
 import java.util.concurrent.TimeUnit
116
-import kotlin.system.exitProcess
117
 
117
 
118
 
118
 
119
 class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), DownloadCallback {
119
 class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), DownloadCallback {
218
                 CrashReport.setUserId(it.userid.toString())
218
                 CrashReport.setUserId(it.userid.toString())
219
             }
219
             }
220
         }
220
         }
221
+        initWallpaper()
222
+        initAppRv()
223
+        DownLoadUtils.addCallback(this)
224
+        try {
225
+            StrategyUtils.initMainControlStrategy()
226
+            userBean?.let {
227
+                registerAppInstallReceiver()
228
+                registerNetConnectReceiver()
229
+                registerScreenReceiver()
230
+                registerBleStateReceiver()
231
+                registerUSBReceiver()
232
+                registerSDReceiver()
233
+                registerLoginOutReceiver()
234
+                registerLoginEditReceiver()
235
+                registerXhlyUpdeteStrategyReceiver()
236
+                adapter?.userBean = it
237
+            }
238
+        } catch (e: Exception) {
239
+            LogShow("错误是" + e.toString())
240
+        }
241
+       initViewModelCallBack()
242
+        isCreatFlag = true
243
+        lifecycleScope.launch {
244
+            isDestroyFlag = false
245
+            withContext(Dispatchers.IO) {
246
+                delay(2000)
247
+            }
248
+            //自动同时一次时间
249
+            viewModel.postSyncTime()
250
+            lastTimeLong = System.currentTimeMillis()
251
+            getLocation()
252
+            //startWorkManager()
253
+            //updateAllStrategy()
254
+        }
255
+    }
256
+    private fun initWallpaper() {
221
         lifecycleScope.launch {
257
         lifecycleScope.launch {
222
             withContext(Dispatchers.IO) {
258
             withContext(Dispatchers.IO) {
223
                 val file = File(filesDir, "wallpaper.png")
259
                 val file = File(filesDir, "wallpaper.png")
237
                 }
273
                 }
238
             }
274
             }
239
         }
275
         }
240
-        DownLoadUtils.addCallback(this)
276
+    }
277
+
278
+    private fun initAppRv() {
241
         adapter = AppAdapter(this, dataList)
279
         adapter = AppAdapter(this, dataList)
242
         mBinding.rv.layoutManager = GridLayoutManager(this, 6, GridLayoutManager.VERTICAL, false)
280
         mBinding.rv.layoutManager = GridLayoutManager(this, 6, GridLayoutManager.VERTICAL, false)
243
         adapter?.changePwdListener = getChangeCodeListener()
281
         adapter?.changePwdListener = getChangeCodeListener()
244
         mBinding.rv.adapter = adapter
282
         mBinding.rv.adapter = adapter
245
         updateAppRv()
283
         updateAppRv()
246
-        // checkAccessibility(this)
247
-        try {
248
-            StrategyUtils.initMainControlStrategy()
249
-            userBean?.let {
250
-                registerAppInstallReceiver()
251
-                registerNetConnectReceiver()
252
-                registerScreenReceiver()
253
-                registerBleStateReceiver()
254
-                registerUSBReceiver()
255
-                registerSDReceiver()
256
-                registerLoginOutReceiver()
257
-                registerLoginEditReceiver()
258
-                registerXhlyUpdeteStrategyReceiver()
259
-                adapter?.userBean = it
260
-            }
261
-        } catch (e: Exception) {
262
-            LogShow("错误是" + e.toString())
263
-        }
264
-        /*
265
-         使用情况权限
266
-         val permissionIntent = Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)
267
-          startActivity(permissionIntent)*/
268
-        // csdkManagerUtils.csdkManager.enableAccessibility("com.xhly.manageapp","com.xhly.manageapp.service.TestService",true)
284
+    }
269
 
285
 
286
+    private fun initViewModelCallBack() {
270
         viewModel.pwdResultData.observe(this) {
287
         viewModel.pwdResultData.observe(this) {
271
             if (it) {
288
             if (it) {
272
                 unBindBlock()
289
                 unBindBlock()
407
                                 if (granted || ModelNameUtils.IS_LianxX505f() || ModelNameUtils.IS_LianxX6e6f()|| ModelNameUtils.IS_LianxTB223FC()) {
424
                                 if (granted || ModelNameUtils.IS_LianxX505f() || ModelNameUtils.IS_LianxX6e6f()|| ModelNameUtils.IS_LianxTB223FC()) {
408
                                     // 权限已授予,执行安装操作
425
                                     // 权限已授予,执行安装操作
409
                                     val appList = AppUtils.GetAppList(this@MainActivity)
426
                                     val appList = AppUtils.GetAppList(this@MainActivity)
410
-                                    getExternalFilesDir(null)?.let {
427
+                                    //修改路径
428
+                               /*     getExternalFilesDir(null)?.let {
411
                                         FileUtils.deleteCurrentFlie(it)
429
                                         FileUtils.deleteCurrentFlie(it)
412
                                     }
430
                                     }
413
-                                    val file = getExternalFilesDir(null)
431
+                                    val file = getExternalFilesDir(null)*/
432
+                                    var file:File?=null
433
+                                    if (ModelNameUtils.IS_LianxTB223FC()){
434
+                                        var directory =
435
+                                            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
436
+                                        file=File(directory, "appdownload")
437
+                                        if (!file.exists()){
438
+                                            file.mkdirs()
439
+                                        }else{
440
+                                            FileUtils.deleteCurrentFlie(file)
441
+                                        }
442
+                                    }else{
443
+                                        getExternalFilesDir(null)?.let {
444
+                                            FileUtils.deleteCurrentFlie(it)
445
+                                        }
446
+                                        file = getExternalFilesDir(null)
447
+                                    }
414
                                     modelList.forEach { app ->
448
                                     modelList.forEach { app ->
415
                                         try {
449
                                         try {
416
                                             //获得已安装的应用判断版本,未安装的则直接静默安装。
450
                                             //获得已安装的应用判断版本,未安装的则直接静默安装。
417
-                                            val filter =
418
-                                                appList.filter { it.packageName.equals(app.appPackage) }
451
+                                            val filter = appList.filter { it.packageName.equals(app.appPackage) }
419
                                             //列表中不存在,或者版本较低则更新
452
                                             //列表中不存在,或者版本较低则更新
420
                                             val apkPath = app.apkPath
453
                                             val apkPath = app.apkPath
421
                                             val appName = app.appName
454
                                             val appName = app.appName
422
-                                            if (filter.isNotEmpty() || app.appPackage.equals(
423
-                                                    packageName
424
-                                                )
425
-                                            ) {
455
+                                            if (filter.isNotEmpty() || app.appPackage.equals(packageName)) {
456
+                                                //不为空filter.isNotEmpty()表示列表存在应用则判断版本号,app.appPackage.equals(packageName)表示需要判断是否更新桌面应用,都不满足表示应用不存在
426
                                                 val appversion =
457
                                                 val appversion =
427
                                                     if (app.appPackage.equals(packageName)) {
458
                                                     if (app.appPackage.equals(packageName)) {
428
                                                         SystemUtil.getAppVersionCode(
459
                                                         SystemUtil.getAppVersionCode(
703
                 }
734
                 }
704
             }
735
             }
705
         }
736
         }
706
-      /*  viewModel.timeResultData.observe(this) {
707
-            if (SystemUtil.updateTimeFlag) {
708
-                SystemUtil.updateTimeFlag = false
709
-                ManageApplication.setSysTime(it)
710
-                LogShow("当前设置的时间是" + it + "|||" + SystemClock.getDateString(it))
711
-                try {
712
-                    tipsDialog?.dismiss()
713
-                } catch (e: Exception) {
737
+        /*  viewModel.timeResultData.observe(this) {
738
+              if (SystemUtil.updateTimeFlag) {
739
+                  SystemUtil.updateTimeFlag = false
740
+                  ManageApplication.setSysTime(it)
741
+                  LogShow("当前设置的时间是" + it + "|||" + SystemClock.getDateString(it))
742
+                  try {
743
+                      tipsDialog?.dismiss()
744
+                  } catch (e: Exception) {
714
 
745
 
715
-                }
716
-            }
717
-        }*/
746
+                  }
747
+              }
748
+          }*/
718
         viewModel.viewModelScope.launch {
749
         viewModel.viewModelScope.launch {
719
             viewModel.timeResultDataFlow.collect{
750
             viewModel.timeResultDataFlow.collect{
720
                 if (SystemUtil.updateTimeFlag&&it!=null) {
751
                 if (SystemUtil.updateTimeFlag&&it!=null) {
764
                 }
795
                 }
765
             }
796
             }
766
         }
797
         }
767
-
768
-        /*viewModel.mainLoginData.observe(this){userBean->
769
-        }
770
-*/
771
-        lifecycleScope.launch {
772
-            isCreatFlag = true
773
-            isDestroyFlag = false
774
-            withContext(Dispatchers.IO) {
775
-                delay(2000)
776
-            }
777
-            //自动同时一次时间
778
-            viewModel.postSyncTime()
779
-            lastTimeLong = System.currentTimeMillis()
780
-            getLocation()
781
-            startWorkManager()
782
-            //updateAllStrategy()
783
-        }
784
     }
798
     }
785
 
799
 
786
 
800
 
1122
     //亮屏,点击,和onresume都执行这个请求策略的方法,达到次数则请求策略。
1136
     //亮屏,点击,和onresume都执行这个请求策略的方法,达到次数则请求策略。
1123
     private fun updateResumeStrategy() {
1137
     private fun updateResumeStrategy() {
1124
         //在activity中判断,如果连续10分钟都没执行则重启任务。
1138
         //在activity中判断,如果连续10分钟都没执行则重启任务。
1125
-        if (!isCreatFlag&&System.currentTimeMillis() - TimingWorker.lastTime > 10 * 60 * 1000) {
1139
+        if (System.currentTimeMillis() - TimingWorker.lastTime > 10 * 60 * 1000) {
1126
             startWorkManager()
1140
             startWorkManager()
1127
         }
1141
         }
1128
         lifecycleScope.launch(Dispatchers.IO) {
1142
         lifecycleScope.launch(Dispatchers.IO) {

Loading…
Cancel
Save