Я хочу установить будильник для Xamarin.Droid проекта. Для этого использую DependencyService для определения platform-specific функций. Определяю интерфейс с сигнатурой функций
namespace ExampleProgram.Droid
{
public interface IRunAlarm
{
Intent setIntent();
...
}
}
и класс с реализацией.
[assembly: Dependency(typeof(ExampleProgram.Droid.RunAlarm))]
namespace ExampleProgram.Droid
{
public class RunAlarm: MainActivity, IRunAlarm
{
public Intent setIntent()
{
Intent i = new Intent(this, typeof(AlarmReceiver));
return i;
}
...
}
}
Когда запускаю программу, возникает исключение
Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
на этой строчке:
Intent i = new Intent(this, typeof(AlarmReceiver));
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="3" android:versionName="3" package="com.example.exampleprogram">
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application android:label="exampleprogram" android:icon="@drawable/appicon"></application>
</manifest>
Как обработать это исключение и как можно грамотно получить MainActivity в этом случае?