java - android studio firebase gettoken id

标签 java android firebase

我正在编写一个聊天应用程序,我想将 token ID 保存在 firebase 数据库中,但 token 为空。这是我的代码:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

    String user_id = mAuth.getCurrentUser().getUid();
    String Device_id = FirebaseInstanceId.getInstance().getToken();

    Toast.makeText(this, Device_id, Toast.LENGTH_SHORT).show();
    mDatabaseTokenId.child(user_id).child("device_token").setValue(Device_id).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {

            if (task.isSuccessful()){

            }else{
                Toast.makeText(LoginActivity.this, ""+task.getException()
                        , Toast.LENGTH_SHORT).show();
            }
        }
    });
    if(user.isEmailVerified()){

         Intent intent = new Intent(getApplicationContext(),MainActivity.class);
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         startActivity(intent);
         finish();

device_id为什么返回空?请帮助我,伙计们。

最佳答案

在 list 中添加服务

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

您的服务中将有一个 onTokenRefresh 方法,如下所示

@Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);

    // TODO: Implement this method to send any registration to your app's servers.
    sendRegistrationToServer(refreshedToken);
}

关于java - android studio firebase gettoken id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45781942/

相关文章:

java - AsyncTask.THREAD_POOL_EXECUTOR 返回值

android - 无法通过 WIFI 连接到 firebase 数据库,但可以与 4G 移动网络连接良好。奇怪的问题

ios - Firebase setValue 在 IOS 10、Swift 3 中不起作用

java - 在 ListView 中包含 AdMobs 广告

java - 泛型 - 定义 Map<MyClassA<?>, MyClassB<?>> 确保两者 ?是相同的?

android - 如何淡出 TextView 中最后一行的结尾?

android - GridView 在填充上产生奇怪的白边

Firebase 身份验证 : Linking Anonymous Account

java - 如何将复杂的 JSON 解析为 ArrayAdapters

java - 如何尊重现有的 WSDL 但重命名 targetNamespace 或包含服务的包?