Parcourir la source

1.添加USB事件处理

master
wangwanlei il y a 11 mois
Parent
révision
fcb0cae690

+ 26
- 20
app/src/main/java/com/xhly/manageapp/broadcastreceiver/USBReceiver.kt Voir le fichier

@@ -1,25 +1,31 @@
1
-package com.xhly.manageapp.broadcastreceiver;
1
+package com.xhly.manageapp.broadcastreceiver
2 2
 
3
-import android.content.BroadcastReceiver;
4
-import android.content.Context;
5
-import android.content.Intent;
6
-import android.hardware.usb.UsbManager;
7
-import android.util.Log;
3
+import android.content.BroadcastReceiver
4
+import android.content.Context
5
+import android.content.Intent
6
+import com.xhly.corelib.Const
7
+import com.xhly.corelib.eventbus.UIEvent
8
+import com.xhly.corelib.utils.LogShow
8 9
 
9
-public class USBReceiver extends BroadcastReceiver {
10
-    public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
11
-    public static final String USB_FUNCTION_MTP = "mtp";
12
-    public static final String USB_FUNCTION_PTP = "ptp";
13
-    public static final String USB_FUNCTION_ADB = "adb";
14
-    public static final String USB_CONNECTED="connected";
15
-
16
-    @Override
17
-    public void onReceive(Context context, Intent intent) {
10
+class USBReceiver : BroadcastReceiver() {
11
+    override fun onReceive(context: Context, intent: Intent) {
12
+        val booleanExtra = intent.getBooleanExtra(USB_CONNECTED, false)
13
+        val booleanExtra1 = intent.getBooleanExtra(USB_FUNCTION_MTP, false)
14
+        val booleanExtra2 = intent.getBooleanExtra(USB_FUNCTION_PTP, false)
15
+        val booleanExtra3 = intent.getBooleanExtra(USB_FUNCTION_ADB, false)
16
+        LogShow("USBReceiver获取权限成功:1.链接==$booleanExtra,mtp==$booleanExtra1,ptp==$booleanExtra2,adb==$booleanExtra3")
17
+        if (booleanExtra){
18
+            UIEvent(Const.USB_CONNECTED).post()
19
+        }else{
20
+            UIEvent(Const.USB_NOCONNECTED).post()
21
+        }
22
+    }
18 23
 
19
-        boolean booleanExtra = intent.getBooleanExtra(USB_CONNECTED, false);
20
-        boolean booleanExtra1 = intent.getBooleanExtra(USB_FUNCTION_MTP, false);
21
-        boolean booleanExtra2 = intent.getBooleanExtra(USB_FUNCTION_PTP, false);
22
-        boolean booleanExtra3 = intent.getBooleanExtra(USB_FUNCTION_ADB, false);
23
-        Log.i("USBReceiver", "获取权限成功:1.链接=="+booleanExtra+",mtp=="+booleanExtra1+",ptp=="+booleanExtra2+",adb=="+booleanExtra3);
24
+    companion object {
25
+        const val ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE"
26
+        const val USB_FUNCTION_MTP = "mtp"
27
+        const val USB_FUNCTION_PTP = "ptp"
28
+        const val USB_FUNCTION_ADB = "adb"
29
+        const val USB_CONNECTED = "connected"
24 30
     }
25 31
 }

+ 31
- 8
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Voir le fichier

@@ -24,7 +24,6 @@ import com.tbruyelle.rxpermissions2.RxPermissions
24 24
 import com.xhly.corelib.Const
25 25
 import com.xhly.corelib.bean.AppInfo
26 26
 import com.xhly.corelib.eventbus.UIEvent
27
-import com.xhly.corelib.network.RetrofitService
28 27
 import com.xhly.corelib.utils.AppUtils
29 28
 import com.xhly.corelib.utils.CustomOSUtils
30 29
 import com.xhly.corelib.utils.LogShow
@@ -38,7 +37,6 @@ import com.xhly.manageapp.bean.strategy.StrategyBean
38 37
 import com.xhly.manageapp.broadcastreceiver.AppInstallReceiver
39 38
 import com.xhly.manageapp.broadcastreceiver.SDReceiver
40 39
 import com.xhly.manageapp.databinding.ActivityMainBinding
41
-import com.xhly.manageapp.network.log.LogService
42 40
 import com.xhly.manageapp.service.ManageAccessibilityService
43 41
 import com.xhly.manageapp.service.websocket.AppSocketService
44 42
 import com.xhly.manageapp.ui.ManageActivity
@@ -77,7 +75,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
77 75
             UIEvent("2005").post()
78 76
         }
79 77
         registerAppInstallReceiver()
80
-       // registerSDReceiver()
78
+        // registerSDReceiver()
81 79
         /*
82 80
          使用情况权限
83 81
          val permissionIntent = Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)
@@ -212,6 +210,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
212 210
 
213 211
                 }
214 212
             }
213
+
215 214
             Const.SDINSTALL -> {
216 215
                 val data = LogdOperateBean()
217 216
                 ManageApplication.getDeviceInfo()?.let {
@@ -219,9 +218,10 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
219 218
                 }
220 219
                 data.comm = "SD卡插入"
221 220
                 data.doEvent = EventLog.SDEMOUNTEDVENT
222
-               viewModel.eventLog(data)
221
+                viewModel.eventLog(data)
223 222
             }
224
-            Const.SDUNINSTALL->{
223
+
224
+            Const.SDUNINSTALL -> {
225 225
                 val data = LogdOperateBean()
226 226
                 ManageApplication.getDeviceInfo()?.let {
227 227
                     data.sn = it
@@ -230,7 +230,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
230 230
                 data.doEvent = EventLog.SDEJECTEVENT
231 231
                 viewModel.eventLog(data)
232 232
             }
233
-            Const.SIMINSTALL->{
233
+
234
+            Const.SIMINSTALL -> {
234 235
                 val data = LogdOperateBean()
235 236
                 ManageApplication.getDeviceInfo()?.let {
236 237
                     data.sn = it
@@ -239,7 +240,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
239 240
                 data.doEvent = EventLog.SIMEVENT
240 241
                 viewModel.eventLog(data)
241 242
             }
242
-            Const.BLUETOOTHOPEN->{
243
+
244
+            Const.BLUETOOTHOPEN -> {
243 245
                 val data = LogdOperateBean()
244 246
                 ManageApplication.getDeviceInfo()?.let {
245 247
                     data.sn = it
@@ -248,6 +250,27 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
248 250
                 data.doEvent = EventLog.BLUETOOHEVENT
249 251
                 viewModel.eventLog(data)
250 252
             }
253
+
254
+            Const.USB_CONNECTED -> {
255
+                val data = LogdOperateBean()
256
+                ManageApplication.getDeviceInfo()?.let {
257
+                    data.sn = it
258
+                }
259
+                data.comm = "usb连接"
260
+                data.doEvent = EventLog.USBCONNECTEVENT
261
+                viewModel.eventLog(data)
262
+            }
263
+
264
+            Const.USB_NOCONNECTED -> {
265
+                val data = LogdOperateBean()
266
+                ManageApplication.getDeviceInfo()?.let {
267
+                    data.sn = it
268
+                }
269
+                data.comm = "usb断开"
270
+                data.doEvent = EventLog.USBDISCONNECTEVENT
271
+                viewModel.eventLog(data)
272
+            }
273
+
251 274
             "策略更新" -> {
252 275
 
253 276
             }
@@ -310,7 +333,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
310 333
         intentFilter.addAction(Intent.ACTION_MEDIA_EJECT)
311 334
         intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED)
312 335
         intentFilter.addDataScheme("file")
313
-        intentFilter.priority=1000
336
+        intentFilter.priority = 1000
314 337
         mySDReceiver = SDReceiver()
315 338
         registerReceiver(mySDReceiver, intentFilter);
316 339
     }

+ 4
- 1
corelib/src/main/java/com/xhly/corelib/Const.kt Voir le fichier

@@ -78,7 +78,10 @@ object Const {
78 78
 
79 79
     //标记蓝牙打开
80 80
     const val BLUETOOTHOPEN = "BLUETOOTHOPEN"
81
-
81
+    //标记USB连接电脑
82
+    const val USB_CONNECTED="USB_CONNECTED"
83
+    //标记USB拔出电脑
84
+    const val USB_NOCONNECTED="USB_NOCONNECTED"
82 85
     //标记更新策略
83 86
     const val UPDATESTRATEGY = "UPDATESTRATEGY"
84 87
 

Chargement…
Annuler
Enregistrer