[英]Google sign-in in android app
我对android应用中的google登录有一个非常普遍的问题。
可以说我在我的android设备上使用xxx@gmail.com作为帐户。 我通过此帐户在android应用程序(com.test.app)中登录。
现在,我从设备上删除了该帐户。
问题:是否应该从com.test.app中注销? (建议)
自我挖掘在我所见过的几乎所有应用中,它都不会注销。
使用SessionManager
和SharedPreferences
在XML中创建一个按钮,并在其上添加OnClick事件。
然后
session = new CustomSessionManager(getApplicationContext());
session.logoutUser();
这是我的CustomSessionManager
类。
public class CustomSessionManager {
// Shared Preferences
SharedPreferences pref;
// Editor for Shared preferences
SharedPreferences.Editor editor;
// Context
Context _context;
// Shared pref mode
int PRIVATE_MODE = 0;
// Sharedpref file name
private static final String PREF_NAME = "Amiyo";
// All Shared Preferences Keys
private static final String IS_LOGIN = "IsLoggedIn";
// User name (make variable public to access from outside)
// public static final String KEY_NAME = "name";
// Email address (make variable public to access from outside)
public static final String KEY_EMAIL = "UserEmail";
// Constructor
public CustomSessionManager(Context context){
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
/**
* Create login session
* */
public void createLoginSession(String UserEmail){
// Storing login value as TRUE
editor.putBoolean(IS_LOGIN, true);
// Storing name in pref
// editor.putString(KEY_NAME, name);
// Storing email in pref
editor.putString(KEY_EMAIL, UserEmail);
// commit changes
editor.commit();
}
/**
* Clear session details
* */
public void logoutUser(){
// Clearing all data from Shared Preferences
editor.clear();
editor.commit();
// After logout redirect user to Loing Activity
Intent i = new Intent(_context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
// Closing all the Activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
// Add new Flag to start new Activity
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Staring Login Activity
_context.startActivity(i);
}
/**
* Quick check for login
* **/
// Get Login State
public boolean isLoggedIn(){
return pref.getBoolean(IS_LOGIN, false);
}
}
有关更多详细信息,请访问此处http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.