Мой Xamarin. Android Приложение прекрасно работает в эмуляторе, но недавно оно только что заработало sh, когда пользователь запускает его на реальном Android устройстве. Эта ошибка отображается в Центре приложений:
FirebaseInstanceId.get_Instance () Java .Lang.IllegalStateException: FirebaseApp по умолчанию не инициализируется в этом процессе «NameOfApp». Обязательно сначала вызовите FirebaseApp.initializeApp (Context).
Некоторые пользователи предложили отредактировать мой метод OnCreate в моем файле MainActivty.cs, добавив следующий фрагмент кода:
Firebase.FirebaseApp.InitializeApp(this);
Я сделал это, но я не хочу выкатывать другое сломанное приложение. пожалуйста, дайте мне знать, если это правильный способ исправить эту ошибку или есть другие способы сделать это.
Спасибо за ваше время!
protected override void OnCreate(Bundle savedInstanceState)
{
Firebase.FirebaseApp.InitializeApp(this);
base.OnCreate(savedInstanceState);
if (!Parameter.CheckInternet())
{
Intent intent = new Intent(Application.Context, typeof(NoInternetActivity));
StartActivity(intent);
return;
}
Helper.TrackEvent(Parameter.CategoryLoad, "home", "Main");
if (Intent.Extras != null)
{
// If there is a Network error show message
if (Intent.Extras.ContainsKey("NetworkError"))
{
Toast.MakeText(this, "Network Error, please try again", ToastLength.Short).Show();
}
else
{
// If there is a link from a notification launch the appropriate activity
string linkType = Intent.GetStringExtra("LinkType");
string linkPage = Intent.GetStringExtra("LinkPage");
if (linkPage.Equals("main"))
{
// Link is a main page
LaunchMainActivity(linkType);
}
else
{
if (linkType.Equals("video"))
{
// Link is a Youtube video
Helper.LaunchVideo(this, linkPage);
}
else
{
// Link is a single page
LaunchSingleActivity(linkType, linkPage);
}
}
// Used this at some point to debug the extras but it's not necessary
foreach (var key in Intent.Extras.KeySet())
{
if (key != null)
{
var value = Intent.Extras.GetString(key);
Helper.TrackEvent("DEBUG", "extras", $"Key: {key} Value: {value}");
}
}
}
}