From 8b43d4e1190fc9e2261be0579e53cc6c2987f946 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 27 十一月 2025 19:37:56 +0800
Subject: [PATCH] 2025年11月27日19:37:50 备份代码

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java |   86 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
index 2c5588c..0c5ca04 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
@@ -1,12 +1,23 @@
 package com.hdl.photovoltaic.ui.me;
 
 
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Color;
+import android.os.Build;
 import android.os.Bundle;
 import android.view.View;
 
+import androidx.annotation.RequiresApi;
+import androidx.core.app.NotificationCompat;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
 import com.hdl.photovoltaic.R;
@@ -18,10 +29,16 @@
 import com.hdl.photovoltaic.other.HdlAppUpdateLogic;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.BPowerStationActivity;
+import com.hdl.photovoltaic.ui.CPowerStationActivity;
+import com.hdl.photovoltaic.ui.StartActivity;
+import com.hdl.photovoltaic.utils.BadgeUtils;
 import com.hdl.photovoltaic.widget.FlashingBoxDialog;
 import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog;
+
+import java.util.Map;
 
 /**
  * 鍏充簬鐣岄潰锛坅pp鏇存柊锛�
@@ -75,7 +92,7 @@
         String content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDownload.html";
         if (!AppConfigManage.getOnlineServer()) {
             //娴嬭瘯鐜
-               content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDebugDownload.html";
+            content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDebugDownload.html";
         }
         Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "0", getColor(R.color.text_00000000), Color.WHITE);
         viewBinding.asRegardsQrCodeIv.setImageBitmap(bitmap);
@@ -124,7 +141,15 @@
                 Intent intent = new Intent();
                 intent.setClass(_mActivity, ContactUsActivity.class);
                 startActivity(intent);
-
+                String json = "{\"expandData\":{\"expantContent\":\"{\\\"createTime\\\":1763705189605,\\\"homeName\\\":\\\"鏅鸿兘妯″紡娴嬭瘯\\\",\\\"isRead\\\":false,\\\"msgId\\\":1991742202645020673,\\\"type\\\":\\\"EVENT\\\",\\\"homeId\\\":1990254883420880898,\\\"status\\\":\\\"UNTREATED\\\"}\",\"homeId\":1990254883420880898,\"messageType\":\"Alarm\"},\"aps\":{\"badge\":2,\"alert\":{\"title\":\"event\",\"body\":\"Battery voltage low\"}}}";
+////                Gson gson = new Gson();
+////                Type type = new TypeToken<Map<String, String>>() {
+////                }.getType();
+////                Map<String, String> map = gson.fromJson(json, type);
+//                Map<String, String> map = JSONObject.parseObject(json, new TypeReference<Map<String, String>>() {
+//                });
+//                showCustomNotification("妯℃嫙鏍囬", "妯℃嫙鏁版嵁", map);
+////                HdlPushLogic.getInstance().pushDataProcessing("", "", json);
             }
         });
 
@@ -184,4 +209,61 @@
             }
         }, this, ShowErrorMode.YES);
     }
+
+    private void showCustomNotification(String title, String message, Map<String, String> data) {
+        NotificationManager notificationManager =
+                (NotificationManager) _mActivity.getSystemService(Context.NOTIFICATION_SERVICE);
+
+        // 鍒涘缓閫氱煡娓犻亾锛圓ndroid 8.0+锛�
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            createNotificationChannel(notificationManager);
+        }
+
+        NotificationCompat.Builder builder = new NotificationCompat.Builder(_mActivity, "fcm_channel")
+                .setSmallIcon(R.drawable.notification_logo)
+                .setContentTitle(title)
+                .setContentText(message)
+                .setAutoCancel(true)
+                .setNumber(5)
+                .setWhen(System.currentTimeMillis());
+
+
+        // 璁剧疆鐐瑰嚮鎰忓浘
+        Intent intent = createNotificationIntent(data);
+        PendingIntent pendingIntent = PendingIntent.getActivity(
+                _mActivity, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+        builder.setContentIntent(pendingIntent);
+
+        // 鏄剧ず閫氱煡
+        notificationManager.notify((int) System.currentTimeMillis(), builder.build());
+    }
+
+    private Intent createNotificationIntent(Map<String, String> data) {
+        Intent intent = new Intent(_mActivity, StartActivity.class);
+        intent.putExtra("from_fcm", true);
+        intent.putExtra("pushData", JSON.toJSON(data).toString());
+//        if (data != null) {
+//            for (Map.Entry<String, String> entry : data.entrySet()) {
+//                intent.putExtra(entry.getKey(), entry.getValue());
+//            }
+//        }
+
+//        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+        return intent;
+    }
+
+    @RequiresApi(api = Build.VERSION_CODES.O)
+    private void createNotificationChannel(NotificationManager notificationManager) {
+        NotificationChannel channel = new NotificationChannel(
+                "fcm_channel",
+                "FCM 娑堟伅",
+                NotificationManager.IMPORTANCE_HIGH
+        );
+        channel.setDescription("Firebase Cloud Messaging 閫氱煡");
+        // 鍚敤瑙掓爣
+        channel.setShowBadge(true);
+        notificationManager.createNotificationChannel(channel);
+        BadgeUtils.setBadgeCount(_mActivity, 7);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0