SuperAPI AI 工具集

maui-platform-invoke

编程与开发

查看项目

更新于 10-16 09:54

技能介绍

用途:当 MAUI 应用需要跨平台 MAUI API 未暴露的平台 API 时使用该技能。核心做法是先定义依赖注入抽象(如 IAppReviewService)并注入到应用服务或视图模型,而不是散落 #if 块。

扩展点选择:已有跨平台 Essentials API 时优先使用 Microsoft.Maui.ApplicationModel、Devices、Storage 等;非可视平台 API 或系统服务用按平台实现的 DI 接口;原生视图行为用 Handler mapper 或自定义 Handler;平台生命周期回调用 ConfigureLifecycleEvents;第三方 SDK 用精简绑定加窄接口;单一编译期常量用 #if 或 OnPlatform。

服务模式:在共享代码定义接口,在 Platforms/Android 等目标目录按平台实现,并在 MauiProgram.cs 中只为已有实现的平台注册,例如在 #if ANDROID 下 AddSingleton。新增 iOS、Mac Catalyst、Windows 或 MAUI Labs AppKit 支持时先加对应实现文件再扩展条件。

权限与元数据:调用前检查 Permissions.* 助手,添加 AndroidManifest.xml、Info.plist、entitlements 或包声明,先经 UI 安全代码请求权限,显式处理拒绝/受限状态并给出可操作提示,不要吞掉失败或返回假成功。

生命周期:用 ConfigureLifecycleEvents 的 AddAndroid、AddiOS、AddWindows 处理依赖生命周期的事件,保持代码精简并把共享状态转发给已注册服务。

限制:资料未提供安装命令、价格、平台兼容版本等具体信息;视觉定制不应实现为通用平台服务。