Browse Source

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

20241218TB223FC(测试jar包)
wangwanlei 10 months ago
parent
commit
63d67d48ac
1 changed files with 47 additions and 21 deletions
  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 View File

113
     private var updateStrategyFlag = false
113
     private var updateStrategyFlag = false
114
     //标记当前是否锁定
114
     //标记当前是否锁定
115
     private var mainLockFlag=false
115
     private var mainLockFlag=false
116
+    private var autoAppFlag=true
116
 
117
 
117
     private var accountDialog:CustomDialog?=null
118
     private var accountDialog:CustomDialog?=null
118
     //创建应用卸载集合,方便获得应用信息
119
     //创建应用卸载集合,方便获得应用信息
125
 
126
 
126
     //上次提醒时长,用来设置是否重新设置提醒任务
127
     //上次提醒时长,用来设置是否重新设置提醒任务
127
     private var lastTipsTimeLong=0
128
     private var lastTipsTimeLong=0
129
+    //判断是否从oncreat执行,防止时间策略多次执行
130
+    private var isCreatFlag=false
131
+
132
+
133
+
128
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
134
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
129
 
135
 
130
     @SuppressLint("CheckResult")
136
     @SuppressLint("CheckResult")
399
         }
405
         }
400
         viewModel.autoAppData.observe(this){
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
             }else{
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
         getLocation()
433
         getLocation()
419
         startWorkManager()
434
         startWorkManager()
420
         lastTimeLong=System.currentTimeMillis()
435
         lastTimeLong=System.currentTimeMillis()
436
+        isCreatFlag=true
421
         updateAllStrategy()
437
         updateAllStrategy()
422
     }
438
     }
423
 
439
 
605
 
621
 
606
     override fun onResume() {
622
     override fun onResume() {
607
         super.onResume()
623
         super.onResume()
624
+
608
         lifecycleScope.launch(Dispatchers.IO){
625
         lifecycleScope.launch(Dispatchers.IO){
609
             try {
626
             try {
610
                 val json = spUtils.getFromJson(Const.USERINFO, UserBean().javaClass)
627
                 val json = spUtils.getFromJson(Const.USERINFO, UserBean().javaClass)
618
             }
635
             }
619
         }
636
         }
620
         Const.backNum++
637
         Const.backNum++
621
-        userBean?.let {
622
-            viewModel.postAutoAppDetail(it.regionid)
623
-        }
624
         if (mainLockFlag&&lastTimeLong+10*60*1000<System.currentTimeMillis()){
638
         if (mainLockFlag&&lastTimeLong+10*60*1000<System.currentTimeMillis()){
625
             //如果时锁定状态进入这个页面则请求一次策略,限制为10分钟
639
             //如果时锁定状态进入这个页面则请求一次策略,限制为10分钟
626
             lastTimeLong=System.currentTimeMillis()
640
             lastTimeLong=System.currentTimeMillis()
631
             Const.backNum = 0
645
             Const.backNum = 0
632
             updateAllStrategy()
646
             updateAllStrategy()
633
         }else{
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
         updatePadInfo()
656
         updatePadInfo()
637
         updateMcApp()
657
         updateMcApp()
638
         val appVersionCode = SystemUtil.getAppVersionCode(this, packageName)
658
         val appVersionCode = SystemUtil.getAppVersionCode(this, packageName)
641
     }
661
     }
642
 
662
 
643
     private fun updateAllStrategy() {
663
     private fun updateAllStrategy() {
664
+        LogShow("请求策略锁定了吧")
644
         userBean?.let {
665
         userBean?.let {
645
             Const.USERID = it.userid
666
             Const.USERID = it.userid
646
             Const.USERNAME = it.username.toString()
667
             Const.USERNAME = it.username.toString()
657
         viewModel.postWallpaperPad()
678
         viewModel.postWallpaperPad()
658
         viewModel.updateStrategy()
679
         viewModel.updateStrategy()
659
         viewModel.uploadAppStrategy()
680
         viewModel.uploadAppStrategy()
660
-        //直接在请求学校设置时使用这个请求
661
-       /* viewModel.getAppList()*/
662
         viewModel.postAppNetWhiteList()
681
         viewModel.postAppNetWhiteList()
663
-        useTimeStrategy()
664
         updatePadInfo()
682
         updatePadInfo()
665
     }
683
     }
666
 
684
 
864
     private fun useTimeStrategy() {
882
     private fun useTimeStrategy() {
865
         //获得sputils中的平板锁定策略
883
         //获得sputils中的平板锁定策略
866
         try {
884
         try {
867
-            mainLockFlag=false
868
             //如果存储的是锁定则锁定
885
             //如果存储的是锁定则锁定
869
             var block = false
886
             var block = false
870
             val strategyBean =
887
             val strategyBean =
885
                 accountDialog?.dismiss()
902
                 accountDialog?.dismiss()
886
                 mainLockFlag=true
903
                 mainLockFlag=true
887
             } else {
904
             } else {
905
+                mainLockFlag=false
906
+                autoAppFlag=true
888
                 mBinding.mainLlayout.visibility = View.VISIBLE
907
                 mBinding.mainLlayout.visibility = View.VISIBLE
889
                 mBinding.lockLlayout.visibility = View.GONE
908
                 mBinding.lockLlayout.visibility = View.GONE
890
                 hiddenSoft(mBinding.lockEt)
909
                 hiddenSoft(mBinding.lockEt)
899
             }
918
             }
900
             mBinding.lockEt.setText("")
919
             mBinding.lockEt.setText("")
901
         } catch (e: Exception) {
920
         } catch (e: Exception) {
921
+            mainLockFlag=false
902
             //默认不锁定
922
             //默认不锁定
903
             mBinding.mainLlayout.visibility = View.VISIBLE
923
             mBinding.mainLlayout.visibility = View.VISIBLE
904
             mBinding.lockLlayout.visibility = View.GONE
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
     private fun initSchoolSet(schoolDeviceSetBean: SchoolDeviceSetBean? = null) {
934
     private fun initSchoolSet(schoolDeviceSetBean: SchoolDeviceSetBean? = null) {

Loading…
Cancel
Save