Google登录 - 需要在退出时永久保存用户详细信息

时间:2017-08-01 21:56:46

标签: android sharedpreferences

我已将Google sign in sample application与我的应用程序主要活动集成在一起。

我的导航标题中有一个按钮来启动登录活动。 当我使用我的Google帐户登录时,它会将我的姓名和电子邮件ID提取到导航标题中。

现在的问题是,如果我退出这个应用程序,我需要每次都重新登录。如何保存登录详细信息。

我已经阅读了多篇关于共享偏好的文章,但共享偏好对我不起作用。

以下是我尝试过的代码段之一。我在.menu-item { padding: 10px; font-family: arial; }中呼叫<ul class="unclick--menuitems"> <li class="menu-item"><a href="//google.com">About</a></li> <li class="menu-item"><a href="//google.com">Projects</a></li> <li class="menu-item"><a href="//google.com">Contact</a></li> </ul>,在storeUserDetails()呼叫onBackPressed

getUserDetails()

也试过这个教程 https://www.tutorialspoint.com/android/android_shared_preferences.htm

1 个答案:

答案 0 :(得分:0)

   //First instantiate sharedpreferences

    SharedPreferences sharedpreferences;
    sharedpreferences=getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);

    private String name,phone,email;


    //OnPause method to save shared preferences when activity is destroyed

    @Override
    public void onPause() {
        super.onPause();  // Always call the superclass method first

    SharedPreferences.Editor editor = sharedpreferences.edit();

       editor.putString(Name, name);
       editor.putString(Phone, phone);
       editor.putString(Email, email);
       editor.commit();
    }

    //OnResume method used to retrieve sharedpreferences

    @Override
    public void onResume() {
        super.onResume();  // Always call the superclass method first

    SharedPreferences prefs = this.getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE);
    name = prefs.getString("Name","");
    phone = prefs.getString("Phone","");
    email = prefs.getString("Email","");

    }

另外,为了处理登录问题,您可以使用启动器活动和共享优先选项来检查Name是否为null,如果不是则导航到mainactivity,如果是,则导航到登录,然后登录注销功能请确保清除共享偏好。