Android Xamarin StartActivity ActionView-NullPointerException尝试调用虚拟方法

Android Xamarin StartActivity ActionView-NullPointerException尝试调用虚拟方法,android,xamarin.forms,auth0,Android,Xamarin.forms,Auth0,我正在尝试创建一个Xamarin表单应用程序,该应用程序使用Auth0服务进行登录。我一直在按照他们的指示去做,但是每次都失败了 uri已创建且有效,因此客户端的实现看起来很好,但当调用行StartActivity时,我得到以下错误: Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on

我正在尝试创建一个Xamarin表单应用程序,该应用程序使用Auth0服务进行登录。我一直在按照他们的指示去做,但是每次都失败了

uri已创建且有效,因此客户端的实现看起来很好,但当调用行StartActivity时,我得到以下错误:

Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on a null object reference
我认为这与我使用DependencyService来调用Android和iOS项目中的函数有关,它以异步方式运行,但我找不到任何其他方法来让它工作

我尝试使用RunOnUiThread和beginenvokenmonpainthread,但结果仍然相同

我遵循了这些说明和示例:

因此,我创建了一个简单的视图,其中有一个按钮可以点击以使用他们的服务登录。此按钮调用代理服务,以便能够在Android和iOS中启动指令

登录按钮的XAML代码

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="App.LoginPage">
<ContentPage.Content>
    <StackLayout VerticalOptions="StartAndExpand">
        <Button x:Name="LoginButton" Text="Login / Signup" Clicked="OnLoginSignupButtonClicked" />
    </StackLayout>
</ContentPage.Content>

TLDR之所以出现这个问题,是因为我需要从MainActivity中指定应用程序上下文,现在一切都正常了

Application.Context.StartActivity(intent);
我花了很多时间研究这个问题,解决方案是一个简单的教程,关于如何从Android项目在Xamarin中创建新的意图,它成功了

public async void LoginRegisterButtonTap()
{
    // Prepare for the login
    try
    {
        authorizeState = await client.PrepareLoginAsync();
        // Send the user off to the authorization endpoint
        var uri = Android.Net.Uri.Parse(authorizeState.StartUrl);
        var intent = new Intent(Intent.ActionView, uri);
        intent.AddFlags(ActivityFlags.NoHistory);
        StartActivity(intent);
    } catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
 }
Application.Context.StartActivity(intent);