我正在开发一个应用程序,其中我正在使用FCM向特定设备发送通知。我正在正确获取令牌,并且已发送通知,一切正常,但是在一段时间后应用崩溃并仅在我再次卸载并安装后才打开。 这是我得到的错误
E/AndroidRuntime: FATAL EXCEPTION: TokenRefresher
Process: com.example.ibrahimsahko.zee, PID: 20720
java.lang.NoSuchFieldError: No static field
PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type
Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in
class Lcom/google/android/gms/dynamite/DynamiteModule; or its
superclasses (declaration of '
com.google.android.gms.dynamite.DynamiteModule' appears in
/data/app/com.example.ibrahimsahko.zee-2/base.apk)
at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown
Source)
at com.google.android.gms.flags.FlagRegistry.initialize(Unknown
Source)
at com.google.firebase.auth.internal.zzx.initialize(Unknown Source)
at com.google.firebase.auth.internal.zzt.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.os.HandlerThread.run(HandlerThread.java:61)
这就是我在newtoken上获取令牌的方式
public class FirebaseCloudMessagingService extends
FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
}
}
这就是我获取当前令牌并存储的方式
FirebaseInstanceId.getInstance().getInstanceId()
.addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
firebaseFirestore.collection("Users")
.document(userID).update("token_id", deviceToken)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Intent toMain = new Intent(SignIn.this, MainActivity.class);
toMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(toMain);
finish();
Bungee.fade(SignIn.this);
}else{
Toast.makeText(SignIn.this,
Objects.requireNonNull(task.getException()).getMessage(),
Toast.LENGTH_SHORT).show();
}
}
});
}
});
我怀疑是图书馆,但我正在使用更新的图书馆
classpath 'com.google.gms:google-services:4.0.1'