首页 > 解决方案 > 如何手动触发 Firebase onNewToken 调用?

问题描述

当我的 Android 应用第一次使用FirebaseInstanceId.getInstance().getInstanceId()时,注册的onNewToken方法会被调用。但是,当我的活动已经运行并登录时,如何手动触发此事件,以模拟可能迫使客户端刷新其令牌的其他一些安全事件?

理想情况下,这应该是应用程序之外的外部事件,例如访问一些在线 Firebase 控制台,我可以在其中清除客户端标识符或重置它们。

标签: androidfirebasefirebase-cloud-messaging

解决方案


首先,您需要删除旧的实例 ID,然后使用FirebaseInstanceId.getInstance().getInstanceId();.

例子:

public static void resetInstanceId() {
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {

                FirebaseInstanceId.getInstance().deleteInstanceId();
                FirebaseInstanceId.getInstance().getInstanceId();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }).start();
}

推荐阅读