diff --git a/src/MaaWpfGui/Models/PostActionSetting.cs b/src/MaaWpfGui/Models/PostActionSetting.cs
index 0aa3291f89..d79072e021 100644
--- a/src/MaaWpfGui/Models/PostActionSetting.cs
+++ b/src/MaaWpfGui/Models/PostActionSetting.cs
@@ -122,6 +122,11 @@ public class PostActionSetting : PropertyChangedBase
private bool _backToAndroidHome;
+ ///
+ /// Gets a value indicating whether AttachWindow 模式支持 Android 侧后处理动作。
+ ///
+ public bool AndroidControlPostActionsEnabled => !_exitEmulator && !ConnectSettingsUserControlModel.Instance.UseAttachWindow;
+
public bool BackToAndroidHome
{
get => _backToAndroidHome;
@@ -163,6 +168,8 @@ public class PostActionSetting : PropertyChangedBase
return;
}
+ NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled));
+
if (value)
{
ExitArknights = false;
@@ -426,22 +433,51 @@ public class PostActionSetting : PropertyChangedBase
Shutdown = _postActions.HasFlag(PostActions.Shutdown);
Sleep = _postActions.HasFlag(PostActions.Sleep);
Once = false;
- ClearExitEmulatorForAttachWindow();
+ ClearUnsupportedPostActionsForAttachWindow();
}
///
- /// PC 端不支持退出模拟器:移除已保存的该标志,且不触发「取消如果没有其他 MAA」的联动。
+ /// PC 端(窗口绑定)不支持 ADB 侧后处理动作:移除已保存的相关标志,且不触发额外联动。
///
- private void ClearExitEmulatorForAttachWindow()
+ private void ClearUnsupportedPostActionsForAttachWindow()
{
- if (!ConnectSettingsUserControlModel.Instance.UseAttachWindow || !_exitEmulator)
+ if (!ConnectSettingsUserControlModel.Instance.UseAttachWindow)
{
return;
}
- _exitEmulator = false;
- _postActions &= ~PostActions.ExitEmulator;
- NotifyOfPropertyChange(nameof(ExitEmulator));
+ var changed = false;
+
+ if (_backToAndroidHome)
+ {
+ _backToAndroidHome = false;
+ _postActions &= ~PostActions.BackToAndroidHome;
+ NotifyOfPropertyChange(nameof(BackToAndroidHome));
+ changed = true;
+ }
+
+ if (_exitArknights)
+ {
+ _exitArknights = false;
+ _postActions &= ~PostActions.ExitArknights;
+ NotifyOfPropertyChange(nameof(ExitArknights));
+ changed = true;
+ }
+
+ if (_exitEmulator)
+ {
+ _exitEmulator = false;
+ _postActions &= ~PostActions.ExitEmulator;
+ NotifyOfPropertyChange(nameof(ExitEmulator));
+ changed = true;
+ }
+
+ if (!changed)
+ {
+ return;
+ }
+
+ NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled));
RefreshDescription();
SaveActions();
}
@@ -452,8 +488,9 @@ public class PostActionSetting : PropertyChangedBase
{
if (e.PropertyName is nameof(ConnectSettingsUserControlModel.ConnectConfig) or nameof(ConnectSettingsUserControlModel.UseAttachWindow))
{
+ NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled));
NotifyOfPropertyChange(nameof(ExitEmulatorOptionEnabled));
- ClearExitEmulatorForAttachWindow();
+ ClearUnsupportedPostActionsForAttachWindow();
}
};
diff --git a/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml b/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml
index ad5cae396c..790cacd595 100644
--- a/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml
+++ b/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml
@@ -32,14 +32,14 @@