android - 为什么我无法获取华为推送响应的token?

标签 android kotlin push-notification token huawei-mobile-services

请解释一下,为什么响应 HmsInstanceId.getInstance 总是为空。 第一次token来到onNewToken,但是为什么总是String token = HmsInstanceId.getInstance(MainActivity.this).getToken(appId, "HCM"); 空,我如何获得这个 token ?

new Thread() {
        @Override
        public void run() {
            try {
                String appId = AGConnectServicesConfig.fromContext(MainActivity.this).getString("client/app_id");
                String token = HmsInstanceId.getInstance(MainActivity.this).getToken(appId, "HCM");          
            } catch (Exception e) {


            }
       }
   }.start();

也许还有第二个问题: 分配给手机的 token ,但如果我的应用程序有两个用户,我如何为一个应用程序中的每个用户分配 token ?

最佳答案

why response HmsInstanceId.getInstance always empty. in first time token comes to onNewToken, but why always String token = HmsInstanceId.getInstance(MainActivity.this).getToken(appId, "HCM"); empty and how I could get this token?

设备EMUI版本低于10返回null,然后onNewToken回调返回token。 你可以引用这个Docs .

enter image description here

token assigned to the phone, but if my app has two users, how I could assign token fore each user in one app?

华为Push token与设备关联,不区分用户。但是,您可以根据您的服务将用户绑定(bind)到 token 。不知道你的具体应用场景是什么。也许您可以尝试每次登录时getToken,每次注销时deleteToken

关于android - 为什么我无法获取华为推送响应的token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67036754/

相关文章:

kotlin - 在完全不变的层次结构中将元素添加到子列表的惯用方式

list - 如何从非流函数获取流输出

android - 使用 Amazon SNS 移动推送服务注册移动/Android 端点

android - 使用 https ://fcm. googleapis.com/fcm/send 发送 Firebase 数据消息时注册无效?

azure 通知中心注册生存时间

android - 什么时候关闭android上的数据库连接?每次操作完成或应用退出后

android - 如何使用 Handler.Post() 通知工作线程 UI 被修改?

android - AS 3.5 中的 lint 无法识别 SafeArgs 生成的类(方向/参数)

java - 意向服务未启动

android - 在 Android.mk 中添加外部 jar 引用