Browse Source

1.sd卡监听添加scheme

master
wangwanlei 11 months ago
parent
commit
f15b0d35df

+ 4
- 2
app/src/main/AndroidManifest.xml View File

@@ -22,7 +22,7 @@
22 22
     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
23 23
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
24 24
 
25
-    <uses-permission android:name="android.permission.BLUETOOTH"/>
25
+    <uses-permission android:name="android.permission.BLUETOOTH" />
26 26
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
27 27
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
28 28
 
@@ -30,13 +30,13 @@
30 30
     <application
31 31
         android:name=".ManageApplication"
32 32
         android:allowBackup="true"
33
+        android:appComponentFactory="androidx.core.app.CoreComponentFactory"
33 34
         android:dataExtractionRules="@xml/data_extraction_rules"
34 35
         android:fullBackupContent="@xml/backup_rules"
35 36
         android:icon="@mipmap/ic_launcher"
36 37
         android:label="@string/app_name"
37 38
         android:networkSecurityConfig="@xml/network_security_config"
38 39
         android:roundIcon="@mipmap/ic_launcher_round"
39
-        android:appComponentFactory="androidx.core.app.CoreComponentFactory"
40 40
         android:supportsRtl="true"
41 41
         android:theme="@style/MyStyle"
42 42
         tools:targetApi="31">
@@ -112,6 +112,8 @@
112 112
                 <action android:name="android.intent.action.MEDIA_MOUNTED" />
113 113
                 <action android:name="android.intent.action.MEDIA_EJECT" />
114 114
                 <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
115
+
116
+                <data android:scheme="file" />
115 117
             </intent-filter>
116 118
         </receiver>
117 119
         <!--     &lt;!&ndash;覆盖安装清理数据广播——————————————————————————————————————————————————————————&ndash;&gt;

+ 4
- 1
app/src/main/java/com/xhly/manageapp/broadcastreceiver/SDReceiver.kt View File

@@ -3,6 +3,7 @@ package com.xhly.manageapp.broadcastreceiver
3 3
 import android.content.BroadcastReceiver
4 4
 import android.content.Context
5 5
 import android.content.Intent
6
+import com.xhly.corelib.utils.LogShow
6 7
 
7 8
 class SDReceiver: BroadcastReceiver() {
8 9
     override fun onReceive(context: Context, intent: Intent) {
@@ -15,13 +16,15 @@ class SDReceiver: BroadcastReceiver() {
15 16
              Intent.ACTION_MEDIA_MOUNTED->
16 17
              {
17 18
                  //SD卡挂载成功
19
+                 LogShow("sd卡已插入")
18 20
              }
19 21
             Intent.ACTION_MEDIA_EJECT->{
20 22
                 //SD卡拔出
21
-
23
+                LogShow("sd卡已拔出")
22 24
             }
23 25
             Intent.ACTION_MEDIA_UNMOUNTED->{
24 26
                 //SD卡卸载成功
27
+                LogShow("sd卡已卸载")
25 28
             }
26 29
         }
27 30
     }

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

@@ -4,8 +4,6 @@ import BaseActivity
4 4
 import android.Manifest
5 5
 import android.annotation.SuppressLint
6 6
 import android.app.ActivityManager
7
-import android.app.usage.UsageEvents
8
-import android.app.usage.UsageStatsManager
9 7
 import android.content.Context
10 8
 import android.content.Intent
11 9
 import android.content.IntentFilter
@@ -30,11 +28,11 @@ import com.xhly.corelib.utils.AppUtils
30 28
 import com.xhly.corelib.utils.CustomOSUtils
31 29
 import com.xhly.corelib.utils.LogShow
32 30
 import com.xhly.corelib.utils.PhoneInfoUtils
33
-import com.xhly.corelib.utils.toFormat
34 31
 import com.xhly.manageapp.AppAdapter
35 32
 import com.xhly.manageapp.R
36 33
 import com.xhly.manageapp.bean.strategy.StrategyBean
37 34
 import com.xhly.manageapp.broadcastreceiver.AppInstallReceiver
35
+import com.xhly.manageapp.broadcastreceiver.SDReceiver
38 36
 import com.xhly.manageapp.databinding.ActivityMainBinding
39 37
 import com.xhly.manageapp.service.ManageAccessibilityService
40 38
 import com.xhly.manageapp.service.websocket.AppSocketService
@@ -43,7 +41,6 @@ import com.xhly.manageapp.ui.login.activity.LoginActivity
43 41
 import com.xhly.manageapp.ui.main.viewmodel.MainViewModel
44 42
 import com.xhly.manageapp.utils.StrategyUtils
45 43
 import com.xhly.manageapp.workmanager.TimingWorker
46
-import java.util.Calendar
47 44
 import java.util.concurrent.TimeUnit
48 45
 
49 46
 
@@ -52,6 +49,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
52 49
 
53 50
     /*private var csdkManager = CSDKManager(this)*/
54 51
     private var mMyInstallReceiver: AppInstallReceiver? = null
52
+    private var mySDReceiver: SDReceiver? = null
55 53
     private var dataList: ArrayList<AppInfo> = arrayListOf()
56 54
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
57 55
 
@@ -72,7 +70,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
72 70
         mBinding.resetbtn.setOnClickListener {
73 71
             UIEvent("2005").post()
74 72
         }
75
-        registerAppInstallReceiver()/*
73
+        registerAppInstallReceiver()
74
+       // registerSDReceiver()
75
+        /*
76 76
          使用情况权限
77 77
          val permissionIntent = Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)
78 78
           startActivity(permissionIntent)*/
@@ -102,7 +102,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
102 102
             //如果密码一致,则解锁
103 103
             spUtils.setParam(Const.DISABLEPAD, false)
104 104
             useStrategy()
105
-            if (mBinding.mainLlayout.visibility == View.GONE){
105
+            if (mBinding.mainLlayout.visibility == View.GONE) {
106 106
                 Toast("当前不在可用时间。")
107 107
             }
108 108
         }
@@ -138,9 +138,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
138 138
                 //获得是否在使用时间范围
139 139
                 block = StrategyUtils.getAppTimeStrategy(bean)
140 140
             }
141
-            if (Const.isDebug){
141
+            if (Const.isDebug) {
142 142
                 //测试状态不锁定
143
-                block=false
143
+                block = false
144 144
             }
145 145
             val param = spUtils.getParam(Const.DISABLEPAD, false) as Boolean
146 146
             if (param || block) {
@@ -263,6 +263,18 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
263 263
     }
264 264
 
265 265
 
266
+    private fun registerSDReceiver() {
267
+        val intentFilter = IntentFilter();
268
+        intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED)
269
+        intentFilter.addAction(Intent.ACTION_MEDIA_EJECT)
270
+        intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED)
271
+        intentFilter.addDataScheme("file")
272
+        intentFilter.priority=1000
273
+        mySDReceiver = SDReceiver()
274
+        registerReceiver(mySDReceiver, intentFilter);
275
+    }
276
+
277
+
266 278
     private fun showEditDialog() {
267 279
         CustomDialog.build()
268 280
             .setCustomView(object : OnBindView<CustomDialog>(R.layout.layout_edit_dialog) {
@@ -311,6 +323,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
311 323
         mMyInstallReceiver?.let {
312 324
             unregisterReceiver(it)
313 325
         }
326
+        mySDReceiver?.let {
327
+            unregisterReceiver(it)
328
+        }
314 329
         LogShow("MainActivity被销毁")
315 330
     }
316 331
 

Loading…
Cancel
Save