Bladeren bron

1.添加锁定和自启app的逻辑处理,当锁定时不能启动app.

20241218TB223FC(测试jar包)
wangwanlei 10 maanden geleden
bovenliggende
commit
63d67d48ac
1 gewijzigde bestanden met toevoegingen van 47 en 21 verwijderingen
  1. 47
    21
      app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt

+ 47
- 21
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Bestand weergeven

@@ -113,6 +113,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
113 113
     private var updateStrategyFlag = false
114 114
     //标记当前是否锁定
115 115
     private var mainLockFlag=false
116
+    private var autoAppFlag=true
116 117
 
117 118
     private var accountDialog:CustomDialog?=null
118 119
     //创建应用卸载集合,方便获得应用信息
@@ -125,6 +126,11 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
125 126
 
126 127
     //上次提醒时长,用来设置是否重新设置提醒任务
127 128
     private var lastTipsTimeLong=0
129
+    //判断是否从oncreat执行,防止时间策略多次执行
130
+    private var isCreatFlag=false
131
+
132
+
133
+
128 134
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
129 135
 
130 136
     @SuppressLint("CheckResult")
@@ -399,25 +405,35 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
399 405
         }
400 406
         viewModel.autoAppData.observe(this){
401 407
             //连接不为空,并且应用已安装则跳转应用
402
-            if (it.authUrl!=null&&AppUtils.isAppInstalled(this,it.appPackage)){
403
-                spUtils.saveJson(Const.AUTOAPPKEY,it)
404
-                startAutoApp(it)
408
+            it.authUrl="com.xhkjedu.xh_control_browser.MainActivity"
409
+            it.appPackage="com.xhkjedu.xh_control_browser"
410
+            LogShow("锁定了吧"+mainLockFlag)
411
+            if (!mainLockFlag){
412
+                if (it.authUrl!=null&&AppUtils.isAppInstalled(this,it.appPackage)){
413
+                    spUtils.saveJson(Const.AUTOAPPKEY,it)
414
+                    startAutoApp(it)
415
+                }else{
416
+                    try {
417
+                        val autoAppBean = spUtils.getFromJson(Const.AUTOAPPKEY, AutoAppBean().javaClass) as AutoAppBean
418
+                        if (autoAppBean.authUrl!=null&&AppUtils.isAppInstalled(this,autoAppBean.appPackage)&&!it.netSucessFlag){
419
+                            startAutoApp(autoAppBean)
420
+                        }else{
421
+                            canClickFlag=true
422
+                        }
423
+                    }catch (e:Exception){
424
+                        canClickFlag=true
425
+                    }
426
+                }
405 427
             }else{
406
-               try {
407
-                   val autoAppBean = spUtils.getFromJson(Const.AUTOAPPKEY, AutoAppBean().javaClass) as AutoAppBean
408
-                   if (autoAppBean.authUrl!=null&&AppUtils.isAppInstalled(this,autoAppBean.appPackage)){
409
-                    startAutoApp(autoAppBean)
410
-                   }else{
411
-                       canClickFlag=true
412
-                   }
413
-               }catch (e:Exception){
414
-                   canClickFlag=true
415
-               }
428
+                autoAppFlag=false
429
+                startIntentActivity(MainActivity().javaClass)
416 430
             }
417 431
         }
432
+
418 433
         getLocation()
419 434
         startWorkManager()
420 435
         lastTimeLong=System.currentTimeMillis()
436
+        isCreatFlag=true
421 437
         updateAllStrategy()
422 438
     }
423 439
 
@@ -605,6 +621,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
605 621
 
606 622
     override fun onResume() {
607 623
         super.onResume()
624
+
608 625
         lifecycleScope.launch(Dispatchers.IO){
609 626
             try {
610 627
                 val json = spUtils.getFromJson(Const.USERINFO, UserBean().javaClass)
@@ -618,9 +635,6 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
618 635
             }
619 636
         }
620 637
         Const.backNum++
621
-        userBean?.let {
622
-            viewModel.postAutoAppDetail(it.regionid)
623
-        }
624 638
         if (mainLockFlag&&lastTimeLong+10*60*1000<System.currentTimeMillis()){
625 639
             //如果时锁定状态进入这个页面则请求一次策略,限制为10分钟
626 640
             lastTimeLong=System.currentTimeMillis()
@@ -631,8 +645,14 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
631 645
             Const.backNum = 0
632 646
             updateAllStrategy()
633 647
         }else{
634
-            useTimeStrategy()
648
+            if (!isCreatFlag){
649
+                useTimeStrategy()
650
+            }
651
+            isCreatFlag=false
635 652
         }
653
+     /*   userBean?.let {
654
+            viewModel.postAutoAppDetail(it.regionid)
655
+        }*/
636 656
         updatePadInfo()
637 657
         updateMcApp()
638 658
         val appVersionCode = SystemUtil.getAppVersionCode(this, packageName)
@@ -641,6 +661,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
641 661
     }
642 662
 
643 663
     private fun updateAllStrategy() {
664
+        LogShow("请求策略锁定了吧")
644 665
         userBean?.let {
645 666
             Const.USERID = it.userid
646 667
             Const.USERNAME = it.username.toString()
@@ -657,10 +678,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
657 678
         viewModel.postWallpaperPad()
658 679
         viewModel.updateStrategy()
659 680
         viewModel.uploadAppStrategy()
660
-        //直接在请求学校设置时使用这个请求
661
-       /* viewModel.getAppList()*/
662 681
         viewModel.postAppNetWhiteList()
663
-        useTimeStrategy()
664 682
         updatePadInfo()
665 683
     }
666 684
 
@@ -864,7 +882,6 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
864 882
     private fun useTimeStrategy() {
865 883
         //获得sputils中的平板锁定策略
866 884
         try {
867
-            mainLockFlag=false
868 885
             //如果存储的是锁定则锁定
869 886
             var block = false
870 887
             val strategyBean =
@@ -885,6 +902,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
885 902
                 accountDialog?.dismiss()
886 903
                 mainLockFlag=true
887 904
             } else {
905
+                mainLockFlag=false
906
+                autoAppFlag=true
888 907
                 mBinding.mainLlayout.visibility = View.VISIBLE
889 908
                 mBinding.lockLlayout.visibility = View.GONE
890 909
                 hiddenSoft(mBinding.lockEt)
@@ -899,10 +918,17 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
899 918
             }
900 919
             mBinding.lockEt.setText("")
901 920
         } catch (e: Exception) {
921
+            mainLockFlag=false
902 922
             //默认不锁定
903 923
             mBinding.mainLlayout.visibility = View.VISIBLE
904 924
             mBinding.lockLlayout.visibility = View.GONE
905 925
         }
926
+        LogShow("锁定了吧"+mainLockFlag+"|||"+autoAppFlag)
927
+        if (autoAppFlag){
928
+            userBean?.let {
929
+                viewModel.postAutoAppDetail(it.regionid)
930
+            }
931
+        }
906 932
     }
907 933
 
908 934
     private fun initSchoolSet(schoolDeviceSetBean: SchoolDeviceSetBean? = null) {

Laden…
Annuleren
Opslaan