using System;
namespace Hua.Todo.Avalonia.Services.Platforms;
///
/// Android 平台全局热键服务实现类
/// 由于 Android 限制全局热键,使用通知快捷方式作为替代方案
///
public class AndroidGlobalHotKeyService : IGlobalHotKeyService
{
private Action? _callback;
///
/// Android 平台不支持全局热键
///
public bool IsSupported => false;
///
/// 注册通知快捷方式作为热键替代方案
///
/// 修饰键(如 Alt、Control;多个键用逗号分隔)。
/// 主键(如 X、C)。
/// 热键触发时回调(不得阻塞,应自行切回 UI 线程)。
public void RegisterHotKey(string modifiers, string key, Action callback)
{
_callback = callback;
Console.WriteLine($"[AndroidGlobalHotKeyService] Registering notification shortcut as hotkey alternative");
}
///
/// 注销快捷方式(空实现)
///
public void UnregisterHotKey()
{
Console.WriteLine("[AndroidGlobalHotKeyService] Unregistering hotkey");
}
///
/// 更新快捷方式配置
///
/// 新的修饰键。
/// 新的主键。
public void UpdateHotKey(string modifiers, string key)
{
if (_callback != null)
{
RegisterHotKey(modifiers, key, _callback);
}
}
}