java - Google Play 游戏服务仅显示个人资料名称的首字母

标签 java android google-play-services

我最近学习了 Google Play 游戏服务教程:https://developers.google.com/games/services/training/signin

我与游戏服务客户端有完整的实时多人连接。我的问题是使用这个时:

if(Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName().length() >= 4) {
        this.displayName = Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName().substring(0, 4);
    }
    else {
        this.displayName = Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName();
    }

在我的游戏屏幕类构造函数中,并将上述字符串发送到我的 paint() 方法,它仅显示我的 Google Plus(显示)名称的第一个字母(屏幕)。

编辑:这是我的 Google 客户端版本:

this.mGoogleClient = new GoogleApiClient.Builder(this, this, this)
    .addApi(Games.API)
    .addScope(Games.SCOPE_GAMES)
    .setViewForPopups(this.findViewById(R.id.sign_in_button))
    .setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL)
    .addConnectionCallbacks(this)
    .addOnConnectionFailedListener(this)
    .build();

对可能解决方案的思考:

-我可以添加多个范围吗?尽管我已经有了 .addScope(Games.SCOPE_GAMES)

,但我可能需要添加 .addScope(Plus.SCOPE_PLUS_LOGIN)

-由于我将名称保存在游戏屏幕构造函数中,因此在构造函数结束之前是否不等待读取全名?

-我需要输入某种 SHA1 key 吗?我直接从 Google Play 商店安装游戏,这样我就可以获得实际的用户体验,因此我不会意外检查调试 .apk,但我在开发者控制台上打开了所有必需的 API

-跟进这个关键思想,来自Google客户端的数据是否可以以需要特殊授权的方式进行编码?我再次设置了 XML 权限,打开了所需的 API,并将游戏添加到了开发者控制台的 Google Play 游戏服务部分,如教程中所指定。

-连同编码思想一起,这个显示名称是否无法作为文本读取? 谢谢,任何帮助将不胜感激。

最佳答案

取消搜索队!我完全忘记了我制作的字体类仅使用大写字母,并且显然显示名称可能会出现各种混合大小写。感谢您的帮助,上面的代码几乎完美无缺。如果我没记错的话,显示名称也会同时包含名字和姓氏,中间有一个空格。

关于java - Google Play 游戏服务仅显示个人资料名称的首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24989905/

相关文章:

android - 应用关闭/终止时 BroadcastReceiver 无法显示通知

java 静态方法和接口(interface)/继承

java - 使用 ExifInterface 时出现 FileNotFoundException

java - 设置 ViewPart 的输入

php - 字符编码问题?

android - 我该如何解决?建议: use tools:overrideLibrary =“com.google.android.gms.play_services” to force usage

android - 生成签名的APK丢失的资源文件

java - 如何使用java从ftp服务器下载文件到本地计算机

java - 从 Android 7 开始,WebView 显示空白页面