C# CrossCurrentActivity在依赖项中为null,即使它已初始化且在应用程序中不为null
在我的项目中,我使用电话号码登录 它在iOS项目中运行良好,但在Android中,VerifyPhoneNumberAsync()调用 正在从C# CrossCurrentActivity在依赖项中为null,即使它已初始化且在应用程序中不为null,c#,xamarin.forms,plugins,xamarin.android,dependencies,C#,Xamarin.forms,Plugins,Xamarin.android,Dependencies,在我的项目中,我使用电话号码登录 它在iOS项目中运行良好,但在Android中,VerifyPhoneNumberAsync()调用 正在从CrossCurrentActivity.current.activity???签入中抛出“当前活动为空” Plugin.CurrentActivity已初始化(以前在MainActivity.cs中,但现在根据建议在MainApplication.cs中),没有错误,请参见: MainActivity.cs OnCreate(): MainApplica
CrossCurrentActivity.current.activity???
签入中抛出“当前活动为空”
Plugin.CurrentActivity已初始化(以前在MainActivity.cs中,但现在根据建议在MainApplication.cs中),没有错误,请参见:
MainActivity.cs OnCreate():
MainApplication.cs OnCreate():
无论在何处初始化CurrentActivity,调用VerifyPhoneNumberAsync()时都会出现相同的null错误
添加
var activity = CrossCurrentActivity.Current.Activity ?? throw new NullReferenceException("current activity is null");
my MainActivity.cs中的行不会直接抛出错误
还有什么我可以忽略的吗
依赖版本
- Plugin.FirebaseAuth 1.1.2
- Xamarin.表格4.4.0.991265
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
尝试以下解决方案以设置当前活动
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
取代
CrossCurrentActivity.Current.Activity = this;
我也有同样的问题。我已经通过在我的案例中应用相同的工作解决方案解决了这个问题。而不是init方法,只需将MainActivity分配给插件当前活动
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
尝试以下解决方案以设置当前活动
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
取代
CrossCurrentActivity.Current.Activity = this;
我也有同样的问题。我已经通过在我的案例中应用相同的工作解决方案解决了这个问题。如果插件在您的项目中不起作用 您可以尝试以下代码
//current activity
var currentActivity= Android.App.Activity;
//current context
var currentContext = Android.App.Application.Context;
如果插件在您的项目中不起作用 您可以尝试以下代码
//current activity
var currentActivity= Android.App.Activity;
//current context
var currentContext = Android.App.Application.Context;
不幸的是,之前建议的解决方案在我的场景中都不起作用。但是,该问题在升级多个依赖项后自行解决,包括:
- Plugin.FirebaseAuth 3.1.0
- Xamarin.表格4.6.0.800
- Plugin.FirebaseAuth 3.1.0
- Xamarin.表格4.6.0.800