Android Firebase getToken()在单个设备上突然返回null

Android Firebase getToken()在单个设备上突然返回null,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,我有一个应用程序正在利用Firebase-我用它发送通知和火灾事件。 目前,该应用程序在大约100台设备上运行,没有任何问题。 就在最近,当我调用getToken()时,一台设备总是得到null,应用程序变得不可用。 这是唯一一个受影响的应用程序,而且都是突然启动的——它一周前还在运行。 代码逻辑似乎很好,因为它在所有其他设备上工作。 尝试了两种FirebaseInstanceId.getInstance().getToken()和FirebaseInstanceId.getInstance()

我有一个应用程序正在利用Firebase-我用它发送通知和火灾事件。 目前,该应用程序在大约100台设备上运行,没有任何问题。 就在最近,当我调用
getToken()
时,一台设备总是得到
null
,应用程序变得不可用。 这是唯一一个受影响的应用程序,而且都是突然启动的——它一周前还在运行。 代码逻辑似乎很好,因为它在所有其他设备上工作。 尝试了两种
FirebaseInstanceId.getInstance().getToken()
FirebaseInstanceId.getInstance().getToken(getString(R.string.gcm_defaultSenderId),null)没有成功。
应用程序已重新安装,设备已出厂还原

问题是设备不在我身边-它位于远程位置,因此我无法查看日志中的内容。据用户称,一切都没有改变

仅标准实施,在100台设备上工作:

public class FirebaseInstanceIDService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        // Get updated InstanceID token.
        String refreshedToken = null;
        try {
            refreshedToken = FirebaseInstanceId.getInstance().getToken(getString(R.string.gcm_defaultSenderId),null);
            Log.d(TAG, "Token: " + refreshedToken);
        } catch (IOException e) {
            Log.d(TAG, "Token Err: " + e.toString());
            e.printStackTrace();
        }

        sendRegistrationToServer(refreshedToken);
    }

    private void sendRegistrationToServer(String refreshedToken) {
        //Do something with Token
    }
}
知道问题出在哪里吗?

试着这样使用:

String refreshedToken = FirebaseInstanceId.getInstance().getToken();
还要检查清单文件中是否有此项:

  <!-- FIREBASE SERVICES -->

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

这在我的项目中效果很好。

如果没有任何代码,我们无法猜测发生了什么,请向我们展示您所做的工作,我们可以查看它。没有太多要显示的内容,但已更新为什么您认为它为空?我建议创建一个函数,在Firebase分支上记录您想要的内容。或者使用另一个远程日志记录选项。这是了解发生了什么的唯一方法。如果这只发生在特定设备上,那么可能是设备本身的问题(例如,终止FCM服务),他说他已经尝试了
FirebaseInstanceId.getInstance().getToken()FirebaseApp.initializeApp(this);