android - 如何手动触发 Firebase onNewToken 调用?
问题描述
当我的 Android 应用第一次使用FirebaseInstanceId.getInstance().getInstanceId()
时,注册的onNewToken
方法会被调用。但是,当我的活动已经运行并登录时,如何手动触发此事件,以模拟可能迫使客户端刷新其令牌的其他一些安全事件?
理想情况下,这应该是应用程序之外的外部事件,例如访问一些在线 Firebase 控制台,我可以在其中清除客户端标识符或重置它们。
解决方案
首先,您需要删除旧的实例 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();
}
推荐阅读
- c++ - CRTP used with std::any vs virtual functions
- nginx - How do I setup nginx for multiple web app with multiple subdomains in GCE
- python - PySimpleGUI breaks pynput. How do I combine them?
- javascript - Audio tag playing sound only once, onclick - Safari
- flutter - HiveError: The same instance of an HiveObject cannot be stored in two different boxes
- swift - Removing cropping square images while maintaining trimming video - UIImagePickerViewController - swift
- pulumi - 在 Pulumi 中以编程方式标记堆栈
- laravel - 重新填充数组形式 laravel 的旧输入
- javascript - 如何防止通过使用 taginput 按 Enter 提交表单?
- ruby - TarWriter 帮助添加多个目录和文件