修复sos未设置号码时呼出sos界面退出不了问题 3433/1
authorluozheng <1732036298@qq.com>
Wed, 3 Jun 2026 03:32:20 +0000 (11:32 +0800)
committerluozheng <1732036298@qq.com>
Wed, 3 Jun 2026 03:32:20 +0000 (11:32 +0800)
code/sdk/application/wearable/n9/service/msg_center/src/notify/phone_crt.cpp

index f31d4b7..58f2b23 100644 (file)
@@ -164,6 +164,30 @@ void start_SOS_phone_dail(void)
 namespace OHOS {
 
 
+    class CallViewEventListener : public OHOS::UIView::OnClickListener
+    {
+    public:
+        static CallViewEventListener *GetInstance()
+        {
+            static CallViewEventListener callViewEventListener;
+            return &callViewEventListener;
+        }
+        bool OnClick(OHOS::UIView& view, const OHOS::ClickEvent& event) override
+        {
+            if (strcmp(view.GetViewId(), "SOS_FAIL") == 0) 
+            {
+            NotificationManager::GetInstance()->StopNotify();
+            }
+            return true;
+        }
+    private:
+    CallViewEventListener(){};
+    ~CallViewEventListener(){};
+    CallViewEventListener(const CallViewEventListener &) = delete;
+    const CallViewEventListener &operator=(const CallViewEventListener &) = delete;
+    };
+
+
 void phone_VibratorFunc(void);
 
 uint8 call_stat=0;
@@ -501,8 +525,8 @@ UIViewGroup* SOS_cant_dial(void)
     alarm_labelbutton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 44);
     alarm_labelbutton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
 
-    // UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(CallViewEventListener::GetInstance());
-    // alarm_labelbutton->SetOnClickListener(button1Click);
+    UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(CallViewEventListener::GetInstance());
+    alarm_labelbutton->SetOnClickListener(button1Click);
 
     SOSView->Add(alarm_labelbutton);
     alarm_labelbutton->SetVisible(true);