You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8 MAUI应用添加BroadcastReceiver需安装哪个NuGet包?

解决.NET MAUI中找不到BroadcastReceiver的问题

BroadcastReceiver是Android平台专属的原生API,在.NET MAUI中不需要额外安装NuGet包,它已经内置在.NET 8的Android目标支持中,你只需要注意以下几点:

1. 引入正确的命名空间

BroadcastReceiver位于Android.Content命名空间下,需要在代码中引入:

using Android.Content;

2. 针对Android平台编写代码

由于BroadcastReceiver仅适用于Android平台,你需要通过以下两种方式确保代码只在Android环境下编译:

  • 方式一:使用条件编译指令
    在代码中添加#if ANDROID和#endif包裹相关代码:

    #if ANDROID
    using Android.Content;
    
    namespace RemindMe.Services;
    
    [BroadcastReceiver(Enabled = true)]
    public class AlarmReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context? context, Intent? intent)
        {
            // 在这里实现广播接收逻辑
        }
    }
    #endif
    
  • 方式二:放置到Android平台专属目录
    将该类文件移动到MAUI项目的Platforms/Android目录下,MAUI会自动识别这是Android平台专属代码,仅在编译Android目标时包含。

关于Mono.Android的说明

你提到的Mono.Android是旧版Xamarin.Android中的组件,在.NET MAUI(基于.NET 6+)中,Android平台的API绑定已经整合到.NET SDK中,不需要单独安装NuGet包,只要你的MAUI项目配置了Android目标(项目文件中包含<TargetFrameworks>net8.0-android;...</TargetFrameworks>),就会自动包含相关API。

内容的提问来源于stack exchange,提问作者Brad Y.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:22:36