解决slice界面power键不能退出问题 2070/1
authorluozheng <1732036298@qq.com>
Wed, 13 Aug 2025 07:28:05 +0000 (15:28 +0800)
committerluozheng <1732036298@qq.com>
Wed, 13 Aug 2025 07:28:05 +0000 (15:28 +0800)
code/sdk/application/wearable/fd230/nativeabilityfwk/src/AbilitySlice.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/applist/src/ApplistPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainPresenterSample.cpp

index 4133b66..899c81a 100644 (file)
@@ -54,7 +54,8 @@ void AbilitySlice::OnResume()
         RootView::GetInstance()->Add(view_->GetRootContainer());
     }
     // Reset the default key listener
-    RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());
+    // RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());
+    RootView::GetInstance()->SetOnKeyActListener(RootView::GetInstance()->GetOnKeyActListener());
     NativeAbility::GetInstance().SetCurSlicePriority(gSliceDefaultPriority);
 
     UIView* backView = PageTransitionMgr::GetInstance().GetTopSlideBackImage();
index 38e4924..7fd9bd6 100644 (file)
@@ -40,6 +40,7 @@ REGIST_SLICE(VIEW_APPLIST, ApplistView, ApplistPresenter);
 
     void ApplistPresenter::OnStart()
     {
+        RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());
         if (view_ == nullptr) {
             return;
         }
index dfedca8..73b1f33 100644 (file)
@@ -102,6 +102,7 @@ REGIST_SLICE(VIEW_MAIN, MainViewSample, MainPresenterSample);
     void MainPresenterSample::OnStart()
     {
         mainPresenterState_ = MainPresenterState::START;
+        RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());
     }
     
     void MainPresenterSample::OnPause()