Я использую GoogleApiClient для входа в систему, используя свою учетную запись Google. В основном, я использую Firebase Auth с подпиской Google.
Но я получаю этот крах на некоторых устройствах каждый день. Когда я тестирую некоторые из моих собственных устройств (OnePlus 3, Nexus 5X, Moto G и т.д.), Я никогда не вижу этого сбоя.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase(java.util.Locale)' on a null object reference
at com.google.android.gms.internal.zzamy.zzd(Unknown Source)
at com.google.android.gms.internal.zzamv.n(Unknown Source)
at com.google.android.gms.internal.zzamv.zza(Unknown Source)
at com.google.android.gms.internal.zzamv$2.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Это то, что я делаю, чтобы создать экземпляр GoogleApiClient. Я не вижу аварии в нормальных ситуациях, но в некоторых устройствах я это вижу. Вот что я делаю в коде,
String mClientId = parcel.getProviderExtra().getString(CLIENT_ID_KEY);
GoogleSignInOptions googleSignInOptions;
googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(mClientId)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(App.getContext())
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
mGoogleApiClient.connect();
Что я здесь делаю неправильно? Лучше всего, App.getContext()
, который дает контексту приложения для создания экземпляра клиента. Это может быть проблема?
Я могу использовать контекст активности, но использование этого приводит к утечке памяти. В чем проблема и как это можно решить?
Это создает очень плохой опыт для некоторых пользователей, которые получают сбой сразу после открытия приложения и пытаются петь.