0

I'm Creating a Call Diverting app using Xamarin. What i am doing is with the press of a button a command is triggerd and using DependencyService i call the Android specific implementaion of the Call Diverter Method.

Now I'm having a problam where the instance of the MainActivity Context for the StartActivity Method is null. I'm suspecting that this is the cause of the error i get when i running the app: 'Target of StartActivity is null (NullReferenceException)'

but i dont know how to fix this. i thought i'm doing everything right but i'm getting an exception.

this is my code so far: Android Project Call diverting method implementation

[assembly: Dependency(typeof(CallDiverter_Android))]
namespace CallDiverter2.Droid
{
public class CallDiverter_Android : ICallDiverter
{

    public void DivertCall(string callForwardString)
    {
        var context = MainActivity.Instance;
        //Divert call code

        try
        {
            //String callForwardString = "**21*1234567890#";
            Intent callIntent = new Intent(Intent.ActionCall); // ACTION_CALL
            Android.Net.Uri uri = Android.Net.Uri.Parse(callForwardString);
            callIntent.SetData(uri);
            context.StartActivity(callIntent);
            //Forms.Context.StartActivity(callIntent);

        }
        catch (Exception)
        {

            throw;
        }

    }

    public void StopCallDiverting()
    {
        //Stop the call diverting action
    }

}
}

The instance in the MainActivity class:

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    internal static MainActivity Instance { get; private set; }

    protected override void OnCreate(Bundle bundle)
    {
        Instance = this;

        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());

    }

}
MetaDude
  • 139
  • 5
  • 14

0 Answers0