Libgdx与Google Play服务登录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libgdx与Google Play服务登录相关的知识,希望对你有一定的参考价值。
所以我不太确定如何使用libgdx处理Google Play服务登录,我的意思是我想在应用程序启动时要求用户登录。所以我的第一次尝试是在androidLauncher
的onCreate
方法中实现登录
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
startSignInIntent();
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new MainGame(this), config);
}
起初看起来它工作正常,第一次打开应用程序要求我登录,然后在下一个应用程序开口不。但问题是initialize
方法被调用,无论是否startSignInIntent
succeed,我想让它只在登录成功时调用initialize
,如果失败可能关闭应用程序,并让用户再次尝试打开我的应用程序再次。我试图在OnActivityResult
中调用result.isSuccess()
初始化,但它不会那样工作,我猜它必须在onCreate
中调用
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if(result.isSuccess()) {
userAccount = result.getSignInAccount();
Log.i("GoogleAccountTest", "Login Successful");
} else {
String message = result.getStatus().getStatusMessage();
if(message == null || message.isEmpty()) {
message = "Something went wrong";
}
new AlertDialog.Builder(this).setMessage(message).setNeutralButton("Ok", null).show();
}
}
}
然后我尝试用一个按钮登录谷歌我自己的登录屏幕,我创建了一个接口,在AndroidLauncher
实现它并沿着我的初始化方法传递然后调用.startSignInIntent()
,但问题是我仍然没有抓住天气这个电话是否成功。
在这种情况下,我应该如何实施Google Play服务登录?
好的,所以几天后如果有人想知道我是如何处理它的,那就是我的解决方案:
我使用Login按钮创建了额外的屏幕,我按下按钮时调用StartSignInIntent
,然后在主要活动中创建了一个标志,当onActivityResult
结果成功时,我在StartSignInIntent
中设置为true。然后在使用渲染方法的登录按钮的屏幕中,我检查该标志,当它变为真时,我将我的屏幕更改为主菜单
以上是关于Libgdx与Google Play服务登录的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 LibGdx 使用 Google Play 游戏服务
libGDX - Android Studio 中的 Google Play 游戏服务
LibGDX:如何实现 Google Play 游戏服务? [关闭]