首页 > 解决方案 > 如何在 Xamarin.Android 中获取 AlarmManager 系统服务

问题描述

我正在尝试设置一个非常简单的 Android 应用程序,它将按计划触发敬酒消息(即使应用程序不再运行)。在做了一些研究之后,AlarmManager 类看起来可以处理这个功能。我遇到的问题是我根本无法获得 AlarmManager 类的实例。我已经查看了大概 30 个不同的示例,它们都以相同的方式获得了 AlarmManager 的实例。然而,当我尝试做同样的事情时,我得到错误“AlarmManager 是一个命名空间,但被用作一个类型”。

我试过用十几种不同的方式创建一个类的实例,但似乎没有任何效果。我发现的所有资源都没有显示我尝试过的任何替代品。

AlarmManager alarmManager = (AlarmManager) Context.GetSystemService (Context.AlarmService);

我希望得到一个 AlarmManager 的实例,但我得到的错误是它是一个名称空间,被用作一种类型。

标签: c#androidxamarinalarmmanager

解决方案


不确定您的“上下文”是什么,但我假设您正在尝试通过静态属性访问它,因为您也在Context.AlarmService同一行代码中使用并且GetSystemService可以通过上下文实例获得。

您可以使用ApplicationorActivity上下文来访问GetSystemService

例子:

var alarmManager = (AlarmManager) Android.App.Application.Context.GetSystemService (Context.AlarmService);

推荐阅读