原始关闭原因未解决
既然getToken()已弃用,我想知道获得Firebase令牌以发送消息推送的正确方法是什么。
FirebaseInstancedService已弃用。!
只需覆盖FirebaseMessagingService中的onNewToken()
public class LatestFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String mToken) {
super.onNewToken(mToken);
Log.e("TOKEN",mToken);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}}
在AndroidManifest中。xml
<service
android:name=".LatestFirebaseMessagingService"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
getToken()
这也是不推荐的。!
如果您需要在活动中获取令牌,请使用以下代码。
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String mToken = instanceIdResult.getToken();
Log.e("Token",mToken);
}
});
更新的答案
FirebaseInstanceId已弃用,但现在可以使用FirebaseMessaging。getInstance()。代币
例如:
FirebaseMessaging.getInstance().token.addOnSuccessListener { result ->
if(result != null){
fbToken = result
// DO your thing with your firebase token
}
}
老答案
正如留档所说:
此方法已被弃用。支持getInstanceId()。
getInstanceId()将返回带有和InstancedResult的任务。这样地:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
// Do whatever you want with your token now
// i.e. store it on SharedPreferences or DB
// or directly send it to server
}
});
尽管如此,这种方法确实将取代FirebaseInstanceId的使用。getInstanceId()。getToken(),它并没有解决FirebaseInstancedService也被弃用的事实,这给我们留下了另一个问题:在哪里使用它?它可以在任何活动上下文中使用,它将始终返回令牌。但是,如果我们只想在创建时获得令牌,并且令牌很少更新,该怎么办?为此,您应该重写从旧的FirebaseMessagingService实现中继承的新方法onNewToken:(是的,“消息传递”,而不是“InstanceId”)
@Override
public void onNewToken(String s) {
super.onNewToken(s);
String deviceToken = s;
// Do whatever you want with your token now
// i.e. store it on SharedPreferences or DB
// or directly send it to server
}
这样代码将保持精简,甚至不需要使用第一种方法。
我可以问一个关于FirebaseInstanceId的问题吗?我试图注册一个账户页面,但什么都没有发生或显示,我收到了一条错误消息:
Android Studio SDK 30 Gradle 7 我可以收到通知。 但无法获取设备令牌:( Android不让我使用它 我有我的androidManifest 内置。gradle我有 在模块级 在创建的类中 我有 但这一点从未触发,日志猫从未显示“newToken”:( 有人知道如何解决这个问题吗?
希望大家都知道这个类,用于在firebase通知令牌刷新时获取通知令牌。我们从这个类中获取刷新的令牌,方法如下。
我不想知道如何实现新的FirebaseInstanceId。getInstance()。getInstanceId()。将addOnSuccessListener添加到我自己的代码中,这样我就可以检索令牌并将其保存到数据库中,以使用FCM并识别每个用户。 实际上我有以下代码: 根据实际的Firebase说明,我应该修改如下: 但我不知道如何从方法中获取deviceToken字符串,我应该将其保存到
问题内容: 我正在使用apache-httpclient-4.3。我将分析一个HTTP请求,尤其是查询字符串参数,但是 我不确定这意味着什么。我应该使用某些配置API的构造函数参数(那是什么?HostConfiguration作为类不再可用)。但是在构建阶段,我直接通过url传递查询参数: 我找不到不使用不推荐使用的方法从我的 请求 对象读回参数( var1,var2 )的方法,这种方法应该很简单
问题内容: 我在jquery文档中看到live()已被弃用。有直接替换功能吗? 问题答案: ;替换。 ;替换。 ;替换。