gpt4 book ai didi

java - FirebaseInstanceIdService 已弃用,我在重写代码时迷失了方向

转载 作者:行者123 更新时间:2023-12-01 19:57:58 26 4
gpt4 key购买 nike

我喜欢在 android studio 中重写我的代码,我是 android 开发的新手我的初始 MyFirebaseInstanceIDService 代码

    @Override
public void onCreate() {
super.onCreate();
mAuth= FirebaseAuth.getInstance();
mDatabase= FirebaseDatabase.getInstance().getReference().child("userprofiles");
}

@Override
public void onTokenRefresh() {

String refreshedToken = FirebaseInstanceId.getInstance().getToken();

if(mAuth.getCurrentUser()!=null) {
String uiid= Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
mDatabase.child(mAuth.getCurrentUser().getUid()).child(uiid).child("utok").setValue(refreshedToken);
}
}
}

**我可以使用新格式重写我的代码吗这个示例代码将非常感激,现在已经两周了,没有解决方案**

public class MyFirebaseMessagingService extends FirebaseMessagingService {

@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN",s);
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
}

还有这个

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this,  new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String newToken = instanceIdResult.getToken();
Log.e("newToken",newToken);

}
});

最佳答案

    No need to use FirebaseInstanceIdService service to get FCM token. You can safely remove FirebaseInstanceIdService.

Now we need to **@Override onNewToken()** to get Token in "**FirebaseMessagingService**".

**For Example:**

public class MyFirebaseMessagingService extends FirebaseMessagingService {

@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN",s);
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
}

**Add below lines in your manifest file:**

<service
android:name=".MyFirebaseMessagingService"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

**Get Token in your Activity :** .getToken(); is also deprecated if you need to get token in your activity then use as following:

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String newToken = instanceIdResult.getToken();
Log.e("newToken",newToken);

}
});

Hope it will help you...
Happy Coding :)

关于java - FirebaseInstanceIdService 已弃用,我在重写代码时迷失了方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59024193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com