Browse Source

1.添加静态instance

master
wangwanlei 9 months ago
parent
commit
74ce9de63b
1 changed files with 39 additions and 6 deletions
  1. 39
    6
      app/src/main/java/com/xhly/manageapp/ManageApplication.kt

+ 39
- 6
app/src/main/java/com/xhly/manageapp/ManageApplication.kt View File

@@ -7,9 +7,14 @@ import androidx.multidex.MultiDexApplication
7 7
 import com.hjq.toast.Toaster
8 8
 import com.xhly.corelib.utils.ModelNameUtils
9 9
 import com.xhly.manageapp.service.websocket.AppSocket
10
+import com.xhly.manageapp.utils.ZJAPPUtils
11
+import java.io.File
10 12
 
11 13
 class ManageApplication : MultiDexApplication() {
12 14
     companion object {
15
+        @JvmStatic
16
+        var instance: ManageApplication?=null
17
+            private set
13 18
         private var csdkManager: CSDKManager? = null
14 19
 
15 20
         private var apppSocket: AppSocket? = null
@@ -39,10 +44,17 @@ class ManageApplication : MultiDexApplication() {
39 44
          * 获取应用白名单
40 45
          */
41 46
         fun getInstallPackageWhiteList(): ArrayList<String> {
42
-            if (ModelNameUtils.IS_LianxX505f()) {
43
-                return csdkManager?.installPackageWhiteList as ArrayList<String>
47
+            try {
48
+                if (ModelNameUtils.IS_LianxX505f()) {
49
+                    return csdkManager?.installPackageWhiteList as ArrayList<String>
50
+                }
51
+            } catch (e: Exception) {
52
+
44 53
             }
45
-            return arrayListOf()
54
+            return arrayListOf(
55
+                "com.xhly.manageapp",
56
+                "com.xhkjedu.xh_control_appstore"
57
+            )
46 58
         }
47 59
 
48 60
         /**
@@ -50,8 +62,15 @@ class ManageApplication : MultiDexApplication() {
50 62
          */
51 63
 
52 64
         fun installPackage(string: String) {
65
+            val installPackageWhiteList = getInstallPackageWhiteList()
66
+            installPackageWhiteList.add(string)
67
+            addInstallPackageWhiteList(installPackageWhiteList)
53 68
             if (ModelNameUtils.IS_LianxX505f()) {
54 69
                 csdkManager?.installPackage(string)
70
+            } else {
71
+                instance?.let {
72
+                    ZJAPPUtils.installApk(it, File(string))
73
+                }
55 74
             }
56 75
         }
57 76
 
@@ -79,7 +98,10 @@ class ManageApplication : MultiDexApplication() {
79 98
          */
80 99
         fun setPackageEnabled(pkg: String, enableFlag: Boolean) {
81 100
             if (ModelNameUtils.IS_LianxX505f()) {
82
-                csdkManager?.setPackageEnabled(pkg, enableFlag)
101
+                //TODO 暂不处理系统应用
102
+                if (!pkg.startsWith("com.android.")){
103
+                    csdkManager?.setPackageEnabled(pkg, enableFlag)
104
+                }
83 105
             }
84 106
         }
85 107
 
@@ -230,7 +252,7 @@ class ManageApplication : MultiDexApplication() {
230 252
             val serial = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
231 253
                 Build.getSerial()
232 254
             } else {
233
-               Build.SERIAL
255
+                Build.SERIAL
234 256
             }
235 257
             return if (serial.isNullOrBlank()) {
236 258
                 ""
@@ -303,11 +325,22 @@ class ManageApplication : MultiDexApplication() {
303 325
             }
304 326
         }
305 327
 
306
-
328
+        /**
329
+         * 获得当前栈内应用csdkManager?.lockTaskPackages
330
+         */
331
+         fun  lockTaskPackages():Array<String>{
332
+            if (ModelNameUtils.IS_LianxX505f()) {
333
+                csdkManager?.let {
334
+                  return it.lockTaskPackages
335
+                }
336
+            }
337
+            return arrayOf()
338
+         }
307 339
     }
308 340
 
309 341
     override fun onCreate() {
310 342
         super.onCreate()
343
+        instance= this
311 344
         Toaster.init(this)
312 345
         apppSocket = AppSocket()
313 346
         apppSocket?.startSocket(this)

Loading…
Cancel
Save