C# AlarmManager的设置意图

C# AlarmManager的设置意图,c#,android,xamarin,android-intent,alarmmanager,C#,Android,Xamarin,Android Intent,Alarmmanager,为了能够创建alarm manager实现,根据我看到的所有引用,您必须使用一个意图和一个挂起的意图,但是我得到了这些错误,我不知道为什么,因为我的代码与其他代码几乎相同 有两个错误。这是包含两个错误的代码,分别是Intent和pendingent: using Xamarin.Forms; using Xamarin.Forms.Xaml; using System; using System.Collections.Generic; using System.Linq; using Syst

为了能够创建alarm manager实现,根据我看到的所有引用,您必须使用一个意图和一个挂起的意图,但是我得到了这些错误,我不知道为什么,因为我的代码与其他代码几乎相同

有两个错误。这是包含两个错误的代码,分别是Intent和pendingent:

using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Android.Content;
using Android.App;

namespace Assignment {
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class ChooseAlarm : ContentPage {
    public ChooseAlarm() {
        InitializeComponent();
        var donebutton = this.FindByName<Button>("doneButton");

        donebutton.Clicked += donebutton_Clicked;
    }

    private void donebutton_Clicked(object sender, EventArgs e) {
        StartAlarm();
    }
    private void StartAlarm() {
        AlarmManager manager = (AlarmManager)Forms.Context.GetSystemService(Context.AlarmService);

        Intent myIntent = new Intent(this, typeof(AlarmNotificationReceiver)); --Argument 2: cannot convert from 'System.Type' to 'Java.Lang.Class'

        PendingIntent  pendingIntent = PendingIntent.GetBroadcast(this, 0, myIntent, 0); --Argument 1: cannot convert from 'Assignment.ChooseAlarm' to 'Android.Content.Context', same for above

        manager.Set(AlarmType.RtcWakeup, Android.OS.SystemClock.ElapsedRealtime() + 4000, pendingIntent);
    }
}
}

这里应该有活动,它继承了
activity
AppCompatActivity

Intent myIntent = new Intent(this, typeof(MainActivity)); 
&在这里,您当前的课程应该是活动。而不是你的关键字
这个
开始工作

PendingIntent  pendingIntent = PendingIntent.GetBroadcast(this, 0, myIntent, 0);

我所知道的是,你们在Xamarin表单共享项目中使用的是Android代码,这是行不通的。您需要有Xamarin.forms代码。否则,请在Android项目中使用它。

我将它们放在“-”之后的代码中,根据我的经验,如果您只发布最相关的代码和问题描述,您将获得更好的答案,并且更快。这是因为人们通常不会花时间在长的帖子上。这是更好地解释感谢的答复,所以我需要调用MainActivity中的StartArm方法?错误会消失,但当我试图从xamarin forms类调用它时,它会这样做:为了让它工作,我需要从android的MainActivity发送意图?你不能称它为forms shared project。仅在MailActivity中调用它,但您的活动已经启动。我如何告诉MainActivity在用户单击按钮后调用StartAlarm?为此,您需要使用自定义渲染器或DependencyService进行一些研究。如果我能找到办法,我会帮助你的。
PendingIntent  pendingIntent = PendingIntent.GetBroadcast(this, 0, myIntent, 0);