From c6d45e6d3c91db5c0295892c8c2ed04d43356c14 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 19 十一月 2025 15:10:12 +0800
Subject: [PATCH] 2025年11月19日15:09:29 完成B端消息功能

---
 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java |   88 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 70 insertions(+), 18 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
index 786694b..f113a3d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -16,7 +16,6 @@
 import android.os.SystemClock;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.View;
 import android.widget.TextView;
 
@@ -50,7 +49,7 @@
 import com.hdl.photovoltaic.ui.bean.UnCountBean;
 import com.hdl.photovoltaic.ui.home.HomePageFragment;
 import com.hdl.photovoltaic.ui.me.MeFragment;
-import com.hdl.photovoltaic.ui.message.MessageFragment;
+import com.hdl.photovoltaic.ui.message.MessageHouseFragment;
 import com.hdl.photovoltaic.ui.powerstation.HouseAndDeviceFragment;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.AppManagerUtils;
@@ -68,6 +67,7 @@
 import com.hdl.sdk.link.core.config.HDLLinkConfig;
 import com.hdl.sdk.link.core.connect.HDLUdpConnect;
 import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
+import com.umeng.analytics.MobclickAgent;
 
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
@@ -105,7 +105,7 @@
         setStatusBarTranslucent();
         getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E));
         //鍒濆鍖栫鐗�
-        initFragment(savedInstanceState);
+        initFragment(null);
         //鍒濆鍖�
         this.initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -139,7 +139,7 @@
         //纰庣墖鍒濆鍖�
         HomePageFragment mHomePageFragment = new HomePageFragment();
         HouseAndDeviceFragment mHouseAndDeviceFragment = new HouseAndDeviceFragment();
-        MessageFragment mMessageFragment = new MessageFragment();
+        MessageHouseFragment mMessageHouseFragment = new MessageHouseFragment();
         MeFragment mMeFragment = new MeFragment();
         if (savedInstanceState != null) {
             //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
@@ -151,16 +151,31 @@
             fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
             fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
             fragmentList.add(mFragmentManager.findFragmentByTag(3 + ""));
-            restoreFragment();//鎭㈠fragment椤甸潰
+            this.restoreFragment();//鎭㈠fragment椤甸潰
         } else {
+            //
+            this.removeAllFragments(mFragmentManager);
             //姝e父鍚姩鏃惰皟鐢�
+            if (!fragmentList.isEmpty()) {
+                fragmentList.clear();
+            }
             fragmentList.add(mHomePageFragment);
             fragmentList.add(mHouseAndDeviceFragment);
-            fragmentList.add(mMessageFragment);
+            fragmentList.add(mMessageHouseFragment);
             fragmentList.add(mMeFragment);
-            showFragment();
+            this.showFragment();
         }
 
+
+//        if (!fragmentList.isEmpty()) {
+//            fragmentList.clear();
+//        }
+//        // 姝e父鍚姩鏃惰皟鐢�
+//        fragmentList.add(mHomePageFragment);
+//        fragmentList.add(mHouseAndDeviceFragment);
+//        fragmentList.add(mMessageFragment);
+//        fragmentList.add(mMeFragment);
+//        FragmentUtils.loadMultipleFragment(R.id.module_fcv, mFragmentManager, fragmentList.toArray(new Fragment[0]));
     }
 
 
@@ -169,6 +184,7 @@
      * 鏄剧ずfragment
      */
     private void showFragment() {
+//        FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]);
         FragmentTransaction ft = mFragmentManager.beginTransaction();
         //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
         if (!fragmentList.get(currentFragmentIndex).isAdded()) {
@@ -177,12 +193,10 @@
         } else {
             ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex));
         }
+        //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
         currentFragment = fragmentList.get(currentFragmentIndex);
         ft.commit();
         //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
-        currentFragment = fragmentList.get(currentFragmentIndex);
-
-
     }
 
     /**
@@ -198,6 +212,28 @@
             }
         }
         ft.commit();
+    }
+
+    private void removeAllFragments(FragmentManager manager) {
+        if (manager == null) return;
+        try {
+            final List<Fragment> fragments = manager.getFragments();
+            if (fragments.isEmpty()) {
+                return;
+            }
+            FragmentTransaction transaction = manager.beginTransaction();
+            for (int i = 0; i < fragments.size(); i++) {
+                Fragment fragment = fragments.get(i);
+                if (fragment != null) {
+//                     FragmentManager childManager = fragment.getChildFragmentManager();
+//                    removeAllFragments(childManager);
+                    transaction.remove(fragment);
+                }
+            }
+            transaction.commit();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
     }
 
@@ -243,14 +279,15 @@
                     }
                 }
                 if (!TextUtils.isEmpty(registrationID)) {
-                    UserConfigManage.getInstance().setRegistrationID(registrationID);
-                    UserConfigManage.getInstance().Save();
+//                    UserConfigManage.getInstance().setRegistrationID(registrationID);
+//                    UserConfigManage.getInstance().Save();
                     String finalRegistrationID = registrationID;
                     HdlResidenceLogic.getInstance().pushAdd(new CloudCallBeak<String>() {
                         @Override
                         public void onSuccess(String pushId) {
 
                             if (!TextUtils.isEmpty(pushId)) {
+                                UserConfigManage.getInstance().setRegistrationID(finalRegistrationID);
                                 UserConfigManage.getInstance().setPushId(pushId);
                                 UserConfigManage.getInstance().Save();
                             }
@@ -441,12 +478,12 @@
         this.notificationSet();
         //ACCESS_FINE_LOCATION	鍏佽浣跨敤GPS瀹氫綅
         //ACCESS_COARSE_LOCATION	鍏佽浣跨敤WIFI鐑偣鎴栧熀绔欐潵鑾峰彇绮楃暐鐨勫畾浣�
-//        String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
-//        if (ary.length > 0) {
-//            this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
-//        } else {
-//            locationUpdates();
-//        }
+        String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
+        if (ary.length > 0) {
+            this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
+        } else {
+            locationUpdates();
+        }
     }
 
     @Override
@@ -539,6 +576,7 @@
                         uniCallBackBaseBean.setData(linkResponse.getData());
                         HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
                         HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true);
+//                        HdlDeviceLogic.getInstance().searchAllNetworkGateway(null);//閫嗗彉鍣╳ifi鐘舵��-閲嶆柊鎼滅储涓�涓嬮�嗗彉鍣�-閲嶆柊鏇存柊杩炴帴鐘舵��
                     } else if (linkResponse.getTopic().endsWith("/app/thing/event/appHomeRemoveRefresh/up")) {
                         String[] topicArray = linkResponse.getTopic().split("/");
                         //浣忓畢鍒犻櫎閫氱煡
@@ -563,6 +601,17 @@
                         uniCallBackBaseBean.setData(topicArray[1]);
                         HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
                         HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true);
+                    } else if (linkResponse.getTopic().endsWith("/app/thing/event/appHomeDeliverRollbackRefresh/up")) {
+                        //B绔櫥褰曠數绔欏洖婊氭椂锛屾敹鍒板洖婊氱殑浜嬩欢鏃讹紝鍙戜釜閫氱煡缁檜niapp锛寀niapp鍒锋柊涓嬬數绔欑殑鏉冮檺锛岃皟鏁翠笅鑿滃崟鏍忕殑鍐呭銆�
+                        String[] topicArray = linkResponse.getTopic().split("/");
+                        if (topicArray.length < 2) {
+                            return;
+                        }
+                        final String HomeId = topicArray[2];
+                        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                        uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_home_delivery_rollback);
+                        uniCallBackBaseBean.setData(HomeId);
+                        HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
                     } else if (linkResponse.getTopic().endsWith("/app/thing/property/send")) {
                         //璁惧鐘舵�佸彉鏇磘opic锛�/user/${homeId}/app/thing/property/send
                         if (linkResponse.getData() == null) {
@@ -785,7 +834,10 @@
                 return;
             } else {
                 AppManagerUtils.getAppManager().finishAllActivity();
+                //濡傛灉寮�鍙戣�呰皟鐢╧ill鎴栬�卐xit涔嬬被鐨勬柟娉曟潃姝昏繘绋嬶紝鎴栬�呭弻鍑籦ack閿細鏉�姝昏繘绋嬶紝璇峰姟蹇呭湪姝や箣鍓嶈皟鐢∕obclickAgent.onKillProcess鏂规硶锛岀敤鏉ヤ繚瀛樼粺璁℃暟鎹��
+                MobclickAgent.onKillProcess(_mActivity);
                 Process.killProcess(Process.myPid());
+
             }
         }
         super.onBackPressed();

--
Gitblit v1.8.0