Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新应用程序时,如何让所有现有用户从谷歌注销?_Java_Android_Google Signin_Google Play Games - Fatal编程技术网

Java 更新应用程序时,如何让所有现有用户从谷歌注销?

Java 更新应用程序时,如何让所有现有用户从谷歌注销?,java,android,google-signin,google-play-games,Java,Android,Google Signin,Google Play Games,我正在尝试将Google Play游戏服务集成到我的应用程序中。(我真的有麻烦,所以请看一下…)我实际上一直在使用使用使用Web客户端ID的Google登录,并试图将其切换到使用Android客户端ID的Google Play Games 我想知道的是,当用户更新应用程序时,让每个用户都注销。否则,如果用户已使用web客户端id登录并尝试使用Google Play Games功能,则应用程序将崩溃 如何处理此问题?编辑 :您需要创建初始检查生成版本的启动活动 创建一个Splash活动并将此方法添

我正在尝试将Google Play游戏服务集成到我的应用程序中。(我真的有麻烦,所以请看一下…)我实际上一直在使用使用使用Web客户端ID的Google登录,并试图将其切换到使用Android客户端ID的Google Play Games

我想知道的是,当用户更新应用程序时,让每个用户都注销。否则,如果用户已使用web客户端id登录并尝试使用Google Play Games功能,则应用程序将崩溃

如何处理此问题?

编辑 :您需要创建初始检查生成版本的启动活动

创建一个Splash活动并将此方法添加到其中

然后在登录活动中添加共享首选项

编辑 :您需要创建初始检查生成版本的启动活动

创建一个Splash活动并将此方法添加到其中

然后在登录活动中添加共享首选项


等等,其实我有点困惑。你能解释一下你的方法吗?因为当用户更新应用程序时,它应该已经更新到新版本,所以我认为用户不会注销。我的意思是,在SharedReferences中保存当前版本后,它始终等于,并且不能调用logout方法。我犯了一个错误,在Splash活动中添加此强制注销方法,它将首先检查需求,然后将共享首选项添加到您的登录活动中。等等,实际上我有点困惑。你能解释一下你的方法吗?因为当用户更新应用程序时,它应该已经更新到新版本,所以我认为用户不会注销。我的意思是,在SharedReferences中保存当前版本后,它始终等于,并且不能调用logout方法。我犯了一个错误,在Splash活动中添加此强制注销方法,该方法将首先检查需求,然后将共享首选项添加到登录活动中。
        public class SplashScreen extends AppCompatActivity {
            @Override
            protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.splash_activity);

                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                      forcedLogout();
                    }
                },5*1000);
            }
        }

            private void forcedLogout(){

                if (myPrefs.getLong(PREF_APP_CURRENT_VERSION,0) != BuildConfig.VERSION_CODE){
                    //call logout method
                 }else{
                        startActivity(new Intent(SplashScreen.this,MainActivity.class));

                        finish();
    }
}
SharedPreferences.Editor prefEditor = myPrefs.edit();
prefEditor.putLong(PREF_APP_CURRENT_VERSION,BuildConfig.VERSION_CODE);
prefEditor.commit();