Android 谷歌游戏服务-欢迎使用<;名称>;弹出不一致
我在其他线程中尝试了一些建议(比如在启动时强制注销),但我还没有找到解决这个问题的方法。问题在于此弹出窗口: 弹出图像“> 它似乎非常不一致,很少出现 我在我的应用程序启动中添加了一个Android 谷歌游戏服务-欢迎使用<;名称>;弹出不一致,android,libgdx,google-play-games,Android,Libgdx,Google Play Games,我在其他线程中尝试了一些建议(比如在启动时强制注销),但我还没有找到解决这个问题的方法。问题在于此弹出窗口: 弹出图像“> 它似乎非常不一致,很少出现 我在我的应用程序启动中添加了一个GameHelper.logout(),试图始终显示此消息,但它没有显示 通常情况下,它根本就不会出现 调用诸如getGameClient().getCurrentUser().getIconImageUri()之类的方法都可以工作,我可以用这种方式显示图像。此外,我还可以发送邀请,人们会和我一起坐在游戏大厅里 当
GameHelper.logout()
,试图始终显示此消息,但它没有显示
通常情况下,它根本就不会出现
调用诸如getGameClient().getCurrentUser().getIconImageUri()
之类的方法都可以工作,我可以用这种方式显示图像。此外,我还可以发送邀请,人们会和我一起坐在游戏大厅里
当他们点击游戏主屏幕上的Google+登录按钮时,有没有一种方法可以让我始终显示此消息
需要注意的是,我使用的是LibGDX、BaseGameUtils(GameHelper.java)
和googleservices
(当然)
还有其他人对此有意见吗
谢谢!好的,我将在这里发布我是如何使用LibGDX和GPGS进行设置的,我在注销后登录时显示弹出窗口没有问题 我的Android项目的第一个声明:
public class MainActivity extends AndroidApplication implements RequestHandler, GameHelperListener,
GoogleInterface, RealTimeMessageReceivedListener, RoomStatusUpdateListener, RoomUpdateListener,
OnInvitationReceivedListener, RealTimeReliableMessageSentListener, OnImageLoadedListener, OnStateLoadedListener, ConnectionCallbacks{
private GameHelper mHelper;
private GameHelperInterface mGHInterface = null;
private ConfirmInterface mConfirmInterface = null;
private Handler libGDXHandler;
GoogleInterface用于从LibGDX线程传递到Android线程,GameHelperInterface和ConfirmInterface用于将内容从Android传递到房子的LibGDX端(我使用ConfirmInterface来登录内容,另一个用于消息传递等…)处理程序用于确保来自LibGDX端的任何内容都正确地发布到Android线程上(就像来自Android的LibGDX端的任何内容都是使用Gdx.app.postRunnable()发布的一样)
现在我在onCreate()中声明
onStart和onStop:
@Override
public void onStart(){
super.onStart();
mHelper.onStart(this);
}
@Override
public void onStop(){
super.onStop();
mHelper.onStop();
}
Android代码中的登录和注销方法
@Override
public void Login() {
libGDXHandler.post(new Runnable() {
@Override
public void run() {
dLog("beginUserInitatedSignIn()");
//mHelper.signOut();
mHelper.beginUserInitiatedSignIn();
}
});
}
@Override
public void LogOut() {
iServerBadAttempts = -1;
mHelper.signOut();
}
ISERVERBADATEMPTS的使用是为了当我在libGDX中启动屏幕进程时,我可以要求Android端给我这个变量…如果它是-1,那么我知道以前没有尝试过登录,并且可以适当地设置我的Google登录按钮,否则我会检查连接的状态和一些其他事情来设置我适当地使用按钮
为了以防万一,我告诉我的libGDX代码mHelper成功登录:
@Override
public void onSignInSucceeded() {
dLog("signed in");
mConfirmInterface.googleSucceeded();
if (mHelper.getInvitationId() != null) {
acceptInviteToRoom(mHelper.getInvitationId());
mConfirmInterface.acceptedInvitation();
}
}
这是登录和注销的日志
09-24 09:14:31.495:I/SplashScreen(6021):使用谷歌登录
2009-24 09:14:31.495:D/LDGame主活动(6021):开始使用InUserInitatedSignin()
09-24 09:14:31.495:D/Helper(6021):启动用户启动的登录流。
09-24 09:14:31.495:D/Helper(6021):isGooglePlayServicesAvailable返回0
09-24 09:14:31.495:D/Helper(6021):beginUserInitiatedSignIn:启动新登录流。
09-24 09:14:31.495:D/助手(6021):开始连接。
09-24 09:14:31.495:D/Helper(6021):状态更改已断开连接->正在连接
09-24 09:14:31.495:D/Helper(6021):connectNextClient:请求的客户端:7,连接的客户端:0
09-24 09:14:31.495:D/助手(6021):待定客户:7
09-24 09:14:31.495:D/助手(6021):连接游戏客户端。
09-24 09:14:31.535:D/Helper(6021):OnConnection失败
09-24 09:14:31.535:D/Helper(6021):连接失败:
09-24 09:14:31.535:D/助手(6021):-代码:需要登录(4)
09-24 09:14:31.535:D/助手(6021):-可解析:真
09-24 09:14:31.535:D/Helper(6021):-详细信息:ConnectionResult{statusCode=SIGN_IN_REQUIRED,resolution=PendingEvent{41d914d0:android.os。BinderProxy@41ef40c8}}
09-24 09:14:31.535:D/Helper(6021):onConnectionFailed:自用户启动登录以来,正在解决问题。
09-24 09:14:31.535:D/Helper(6021):resolveConnectionResult:尝试解析结果:ConnectionResult{statusCode=SIGN_IN_REQUIRED,resolution=PendingEvent{41d914d0:android.os。BinderProxy@41ef40c8}}
09-24 09:14:31.535:D/Helper(6021):结果已解析。正在启动它。
09-24 09:14:31.615:I/ScreenLog(6021):屏幕暂停:SplashScreen
09-24 09:14:31.615:D/SensorManager(6021):取消注册Listener::Listener=com.badlogic.gdx.backends.android.AndroidInput$SensorListener@41dc06e0
09-24 09:14:31.615:I/AndroidGraphics(6021):暂停
09-24 09:14:31.615:D/传感器(6021):保持侦听器=发送..正常延迟200ms
09-24 09:14:31.615:I/传感器(6021):发送延迟--200000000
09-24 09:14:31.615:D/SensorManager(6021):JNI-发送延迟
09-24 09:14:31.615:I/SensorManager(6021):设置正常延迟=真
09-24 09:14:31.615:D/SensorManager(6021):取消注册Listener::Listener=com.badlogic.gdx.backends.android.AndroidInput$SensorListener@41db99a0
09-24 09:14:31.615:D/传感器(6021):保持侦听器=发送..正常延迟200ms
09-24 09:14:31.615:I/传感器(6021):发送延迟--200000000
09-24 09:14:31.620:D/SensorManager(6021):JNI-发送延迟
09-24 09:14:31.620:I/SensorManager(6021):设置正常延迟=真
09-24 09:14:31.620:I/AndroidInput(6021):传感器侦听器已断开
09-24 09:14:32.220:W/IIInputConnectionWrapper(6021):在非活动InputConnection上显示状态图标
09-24 09:14:37.010:D/Helper(6021):onActivityResult:req=RC\u RESOLVE,resp=RESULT\u OK
09-24 09:14:37.010:D/Helper(6021):onAR:解析结果为“OK”,因此再次连接当前客户端。
09-24 09:14:37.065:D/LDGame主活动(6021):关于活动结果
09-24 09:14:37.065:D/SensorManager(6021):registerListener::handle=0 name=LSM330DLC三轴加速计延迟=20000 Listener=com.badlogic.gdx.backends.android.android输入$SensorListener@41ef6c38
09-24 09:14:37.070:D/SensorManager(6021):registerListener::handle=1 name=AK8975C三轴磁场传感器延迟=20000 Listener=com.badlogic.gdx.backends.android$SensorListener@41ef6f00
09-24 09:14:37.070:I/AndroidInput(6021):传感器侦听器设置
09-24 09:14:37.100:I/ScreenLog(6021):屏幕大小:SplashScreen
09-24 09:14:37.100:I/Scre
@Override
public void onSignInSucceeded() {
dLog("signed in");
mConfirmInterface.googleSucceeded();
if (mHelper.getInvitationId() != null) {
acceptInviteToRoom(mHelper.getInvitationId());
mConfirmInterface.acceptedInvitation();
}
}