Какие пакеты мне нужно добавить BroadcastReceiver в мое приложение MAUI .NET 8 C#?

Я пишу приложение C# MAUI в .Net 8, и у меня возникли проблемы с добавлением BroadcastReceiver, поскольку его, очевидно, не существует ни в одном из имеющихся у меня пакетов. Я не смог найти подходящий пакет, который бы дал мне это.

Вот мои текущие пакеты:

    <ItemGroup>
    <PackageReference Include = "CommunityToolkit.Maui" Version = "9.0.0" />
    <PackageReference Include = "CommunityToolkit.Mvvm" Version = "8.0.0" />
    <PackageReference Include = "Microsoft.Toolkit.Uwp.Notifications" Version = "7.1.3" />
    <PackageReference Include = "Newtonsoft.Json" Version = "13.0.3" />
    <PackageReference Include = "Microsoft.Maui.Controls" Version = "8.0.40" />
    <PackageReference Include = "Microsoft.Maui.Controls.Compatibility" Version = "8.0.40" />
    <PackageReference Include = "Microsoft.Extensions.Logging.Debug" Version = "8.0.0" />
</ItemGroup>

Вот новый класс, который я пытаюсь создать.

namespace RemindMe.Services;

[BroadcastReceiver( Enabled = true )]
public class AlarmReceiver : BroadcastReceiver
{
}

Когда я выбираю «Быстрые действия и рефакторинг», мне не отображается возможность использовать какое-либо пространство имен, что обычно означает, что у меня нет пакета, содержащего этот класс.

Может кто-нибудь сказать мне, какой пакет использовать? Я все обыскал и не нашел. Я читал, что мне нужен Mono.Android, но не могу найти его в Nuget.

Спасибо

Мой проект может напрямую использовать класс BroadcastReceiver без добавления другого пакета. Вы выбрали YourProject(net8.0-andorid) в качестве выбора платформы в верхнем левом углу VS?

Shuowen He-MSFT 29.05.2024 04:17

Да. Он находится в верхнем левом углу вкладки исходного файла. Но кроме того, я открыл проект, чтобы проверить это, увидел, что он там есть, а затем обнаружил, что могу указать ему использовать Android.Content, чего раньше никогда не случалось. Знаете, иногда VS просто не хочет работать, пока вдруг не начинает работать. Я не знаю, сделал ли я вчера что-то, что заставило его восстановиться, или оно само исправилось. Но спасибо! Это подсказало мне, в чем проблема, и я ценю это.

Brad Y. 29.05.2024 14:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Комментарий пользователя 24884869 сделал свое дело! Мне нужно было выбрать правильный тип проекта для исходного кода.

Ответ принят как подходящий

Я очень рад помочь вам. Я обобщил ответ на этот вопрос:

Во всех версиях MAUI, Android Tools (JDK 11 и Android SDK 34) поддерживаются автоматически, поэтому вы можете использовать класс BroadcastReceiver непосредственно в файле .cs.

Поскольку этот класс не существует на платформах iOS и Windows, вам необходимо выбрать YourProject(net8.0-andorid) в качестве выбора платформы в верхнем левом углу VS или использовать код вызова платформы, чтобы использовать этот класс. .

Другие вопросы по теме