Files
MookNote/lib/utils/app_icon_channel.dart
DelLevin-Home 9560e37a44 自定义图标
2026-05-20 00:38:30 +08:00

33 lines
890 B
Dart

import 'package:flutter/services.dart';
/// 应用图标原生通道
/// 通过 MethodChannel 调用 Android activity-alias 切换桌面图标
class AppIconChannel {
static const MethodChannel _channel =
MethodChannel('top.iletter.mooknote/icon');
/// 切换桌面图标
/// [iconName] 图标名称,如 'app_icon' 或 'app_icon2'
/// 返回是否成功
static Future<bool> switchIcon(String iconName) async {
try {
final result = await _channel.invokeMethod('switchIcon', {
'iconName': iconName,
});
return result == true;
} catch (e) {
return false;
}
}
/// 获取当前启用的图标名称
static Future<String> getCurrentIcon() async {
try {
final result = await _channel.invokeMethod('getCurrentIcon');
return result as String? ?? 'app_icon';
} catch (e) {
return 'app_icon';
}
}
}