В моем проекте Xamarin.Forms я использую Plugin.FirebaseAuth для входа по номеру телефона.
Работает нормально для проекта iOS, но для Android вызов VerifyPhoneNumberAsyn c ()
await CrossFirebaseAuth.Current.PhoneAuthProvider.VerifyPhoneNumberAsync(CrossFirebaseAuth.Current.Instance, user.PhoneNumber);
выдает "текущая активность равна нулю" из CrossCurrentActivity.Current.Activity ??
регистрация https://github.com/f-miyu/Plugin.FirebaseAuth/blob/master/Plugin.FirebaseAuth.Android/PhoneAuthProviderWrapper.cs
Plugin.CurrentActivity инициализируется (ранее в MainActivity.cs, но теперь в MainApplication.cs в соответствии с рекомендациями) без ошибок согласно инструкциям в https://github.com/jamesmontemagno/CurrentActivityPlugin:
MainActivity.cs OnCreate ():
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
MainApplication.cs OnCreate ():
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this);
Я получаю ту же нулевую ошибку когда я вызываю VerifyPhoneNumberAsyn c () независимо от того, где я инициализирую CurrentActivity.
Добавление строки
var activity = CrossCurrentActivity.Current.Activity ?? throw new NullReferenceException("current activity is null");
в мой файл MainActivity.cs напрямую не вызывает ошибок.
Есть ли что-то еще, что я мог бы пропустить?
Версии зависимостей
- Plugin.FirebaseAuth 1.1.2
- Xamarin.Forms 4.4.0.991265