Android playgameservices GameHelper-有没有办法在登录期间不使用模式进度对话框?
我正在使用谷歌提供的GameHelper类进行。。。游戏: 每次调用onStart()时,实现都会尝试重新连接,并弹出一个模式进度窗口。调用onStop()时,连接将关闭 这意味着,每当用户启动应用程序,或导航到另一个活动并返回到我们的主要活动时,就会弹出一个模式进度对话框 有没有人找到了一种更优雅地使用谷歌提供的代码的方法?我认为它足够好了,只需向一方呈现一条小消息,如“登录…”,而不是在登录完成之前阻止用户。让这个库在应用程序级别而不是活动级别工作也很好——如果不想让onStop()方法断开连接,现在你必须将整个应用程序塞进一个活动中 谢谢 ------------------更新----------------- 我只是从BaseGameActivity扩展到GameHelper。这是GameHelper.java中的onStop()外观:Android playgameservices GameHelper-有没有办法在登录期间不使用模式进度对话框?,android,google-play-games,Android,Google Play Games,我正在使用谷歌提供的GameHelper类进行。。。游戏: 每次调用onStart()时,实现都会尝试重新连接,并弹出一个模式进度窗口。调用onStop()时,连接将关闭 这意味着,每当用户启动应用程序,或导航到另一个活动并返回到我们的主要活动时,就会弹出一个模式进度对话框 有没有人找到了一种更优雅地使用谷歌提供的代码的方法?我认为它足够好了,只需向一方呈现一条小消息,如“登录…”,而不是在登录完成之前阻止用户。让这个库在应用程序级别而不是活动级别工作也很好——如果不想让onStop()方法断
/** Call this method from your Activity's onStop(). */
public void onStop() {
debugLog("onStop: disconnecting clients.");
// disconnect the clients -- this is very important (prevents resource
// leaks!)
killConnections(CLIENT_ALL);
...
因此,当从我的活动中调用onStart()时(恢复活动或再次启动应用程序),它必须再次执行连接过程:
最终弹出进度对话框。当然,这只有在您以前登录的情况下才会发生
没有其他人看到?“进度”对话框在消失前仅弹出一秒钟。以下是我的活动:
public class ActivityMain extends BaseGameActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
enableDebugLog(true, "###");
Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
beginUserInitiatedSignIn();
}
};
}
@Override
public void onSignInFailed() {
Log.e("###", "onSignInSucceeded()…");
}
@Override
public void onSignInSucceeded() {
Log.e("###", "onSignInSucceeded()…");
}
}
您可以首先在不中断登录流的情况下,删除与ProgressDialog相关的任何事件,或者简单地对GameHelper.java中的showProgressDialog方法进行短路
然后在您的活动中,如果您主要覆盖beginUserInitiatedSignIn,onSignInFailed和OnSigninAccessed,请发布您的代码,在我的游戏中,它不会每次都显示此模式屏幕…更新了我上面的答案,谢谢。