android 集成IM聊天sdk,用户离奇离线,JMessageClient.getMyInfo()获取到对象为null

//TODO 这里暂时写死了极光的登陆
        String userId="186****5623";
        String password="111111";
        JMessageClient.login(userId, password, new BasicCallback() {
            @Override
            public void gotResult(int responseCode, String responseMessage) {
                if (responseCode == 0) {
                    EACionApplication.registerOrLogin = 1;
                    SharePreferenceManager.setCachedPsw(password);
                    UserInfo myInfo = JMessageClient.getMyInfo();
                    File avatarFile = myInfo.getAvatarFile();
                    //登陆成功,如果用户有头像就把头像存起来,没有就设置null
                    if (avatarFile != null) {
                        SharePreferenceManager.setCachedAvatarPath(avatarFile.getAbsolutePath());
                    } else {
                        SharePreferenceManager.setCachedAvatarPath(null);
                    }
                    String username = myInfo.getUserName();
                    String appKey = myInfo.getAppKey();
                    UserEntry user = UserEntry.getUser(username, appKey);
                    if (null == user) {
                        user = new UserEntry(username, appKey);
                        user.save();
                    }
                    Toast.makeText(HomepageActivity.this,"IM登陆成功",Toast.LENGTH_SHORT).show();

                } else {
                    Toast.makeText(HomepageActivity.this,"IM登陆失败",Toast.LENGTH_SHORT).show();
                }

1.这是我代码中在app的splash页面,我在这里登陆了,会造成极光给的demo里面的用户下线,关键是这压根就是两个用户,

2.登陆之后UserInfo myInfo = JMessageClient.getMyInfo();这个方法获取到对象为null,JMessageClient.getMyInfo()官方文档中说这个是获取本地的正在登陆的用户信息,极光服务器怎么知道我是哪个用户呢,

1、关于你说的你这里登陆了导致 demo里面的登出,需要确定是你的这个username登陆导致登出,还是别的登陆。

如果是单点登陆功能,只要username在别的设备有登陆就会被踢出登陆。客户端可以获取之前的登陆状态
https://docs.jiguang.cn/jmessage/client/android_sdk/basic/#_6

2、获取的本地信息时跟服务器没有关系,在此之前 SDK 就已经缓存到本地了,根据username去找他对应的信息即可。

1.我demo里是 18656055622
2.我项目里是 18656055623
3. 他们压根两个账号,会互踢,两个账号我都没有做登出操作
4.获取的本地信息时跟服务器没有关系,在此之前 SDK 就已经缓存到本地了,根据username去找他对应的信息即可。” 您你这个缓存到本地是不是存到本地数据库,JMessageClient.getMyInfo()这个方法是从本地数据库取吗?