From 4e4017b2e55c70c32bd725fc9c9bda335ddc59f6 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期三, 10 十二月 2025 17:09:47 +0800
Subject: [PATCH] 钥匙柜酒精检测控制

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java |   69 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 13 deletions(-)

diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
index 6245db2..4f52855 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
@@ -2,12 +2,18 @@
 
 import androidx.annotation.Nullable;
 
+import android.app.DownloadManager;
+import android.content.BroadcastReceiver;
 import android.content.ClipboardManager;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Environment;
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.Toast;
 
 import com.baidu.idl.main.facesdk.FaceAuth;
 import com.baidu.idl.main.facesdk.callback.Callback;
@@ -68,6 +74,8 @@
 
         getDB().accreditOffBtn.setOnClickListener(this);
         getDB().btnDown.setOnClickListener(this);
+        setupDownloadManager();
+        setupDownloadReceiver();
     }
 
     @Subscribe
@@ -127,19 +135,7 @@
                 }
                 if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
                     isDownLoad = true;
-                    FileUtil.downLoadFile(filePath, MApplication.getConfigBean().getActivateFileUrl(), new FileUtil.DownLoadCallBack() {
-                        @Override
-                        public void sucess() {
-                            ToastView.show(MApplication.mContext,"涓嬭浇鎴愬姛");
-                            isDownLoad = false;
-                        }
-
-                        @Override
-                        public void err(String e) {
-                            ToastView.show(MApplication.mContext,e);
-                            isDownLoad = false;
-                        }
-                    });
+                    startDownload(MApplication.getConfigBean().getActivateFileUrl());
                 }
                 break;
             // 绂荤嚎婵�娲�
@@ -186,5 +182,52 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        if (downloadReceiver != null) {
+            unregisterReceiver(downloadReceiver);
+        }
+    }
+
+    private BroadcastReceiver downloadReceiver;
+    private DownloadManager downloadManager;
+    private long downloadId;
+
+    private void setupDownloadManager() {
+        downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
+    }
+
+
+    private void startDownload(String url) {
+        try {
+            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
+
+            // 璁剧疆涓嬭浇鍙傛暟
+            request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
+            request.setTitle("鏂囦欢涓嬭浇");
+            request.setDescription("姝e湪涓嬭浇鏂囦欢...");
+            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
+            request.setDestinationInExternalPublicDir("", "License.zip");
+
+            // 寮�濮嬩笅杞�
+            downloadId = downloadManager.enqueue(request);
+            Toast.makeText(mContext, "涓嬭浇宸插紑濮�", Toast.LENGTH_SHORT).show();
+
+        } catch (Exception e) {
+            isDownLoad = false;
+            Toast.makeText(this, "涓嬭浇澶辫触: " + e.getMessage(), Toast.LENGTH_LONG).show();
+        }
+    }
+
+    private void setupDownloadReceiver() {
+        downloadReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive (Context context, Intent intent){
+                long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
+                if (id == downloadId) {
+                    isDownLoad = false;
+                    Toast.makeText(context, "鏂囦欢涓嬭浇瀹屾垚", Toast.LENGTH_LONG).show();
+                }
+            }
+        };
+        registerReceiver(downloadReceiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3