gpt4 book ai didi

android - 如何处理 Firebase 17.0.1 的 INSTANCE_ID_EVENT 操作?

转载 作者:太空狗 更新时间:2023-10-29 16:26:21 26 4
gpt4 key购买 nike

现在 FirebaseInstanceIdService 服务已被弃用,我不确定用什么来替换它。

我之前在 list 中声明了一个服务,如下所示:

        <service
android:name=".fcm.FcmIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>

以及服务本身:

public class FcmIdService extends FirebaseInstanceIdService {

@Override
public void onTokenRefresh() {
// Create notification channel.
createFcmNotificationChannel();
}

}

如果我删除该服务,我将不再收到通知,所以我假设我必须用其他东西替换它。

谢谢。

编辑:这个问题与提议的重复问题不同,它还涵盖了我仍然不清楚的受影响服务的 list 声明。

最佳答案

检查这个主题:

FirebaseInstanceIdService is deprecated

您必须将其替换为:

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);
}
}

在 list 中:

<service
android:name=".MyFirebaseMessagingService"
android:stopWithTask="false">
<intent-filter>

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

如果你想在项目的某处获取 token :

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

}
});

没有必要用

<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />

希望对你有帮助

关于android - 如何处理 Firebase 17.0.1 的 INSTANCE_ID_EVENT 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148336/

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