1、自动登录,在SdCrmApplication 代码中,
String username = String.valueOf(SpUtils.get(this, SharePrefUtil.KEY.USER_NAME, ""));
String password = String.valueOf(SpUtils.get(this, SharePrefUtil.KEY.USER_PASSWORD, ""));
2、记录用户信息,在登录后LoginActivity
protected void saveUserInfor(Users users, String password) {
app.setUsers(users);
try {
password= AesUtil.encrypt(password,JxConf.AESKEY);
SpUtils.put(SharePrefUtil.KEY.USER_PASSWORD, password);
SpUtils.put(SharePrefUtil.KEY.USER_NAME, users.getUsername());
} catch (Exception e) {
e.printStackTrace();
}
}
3、退出登录 UserInformationActivity
build.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 右盟分析工具
// MobclickAgent.onEvent(ct, JxConf.C_MYCOFFERS_PERSONALINFORMATION_DROPOUT);
removePushTag();
app.setUsers(null);
app.setUserInfo(null);
SpUtils.remove(ct,SharePrefUtil.KEY.USER_NAME);
SharePrefUtil.saveLong(ct, SharePrefUtil.KEY.LAST_UID, 0);
AppManager appManager = AppManager.getAppManager();
MainActivity activity = (MainActivity) appManager.indexOfActivity(0);
activity.getHomeFragment().settingMessage(0);
// 通知服务器登出
if (userService == null) {
userService = new UserService(ct);
}
userService.logout(users.getUsername(),new TextHttpResponseHandler(){
@Override
public void onFailure(int statusCode, Header[] headers,
String responseBody, Throwable error) {
super.onFailure(statusCode, headers, responseBody,
error);
setResult(RESULT_OK);
finish();
}
@Override
public void onSuccess(int statusCode, Header[] headers,
String responseBody) {
super.onSuccess(statusCode, headers, responseBody);
setResult(RESULT_OK);
finish();
}
});
activity.remoteGetAccessToken();
activity.getHomeFragment().selectPageView(R.id.rb_home);
}
});
4、首次使用自动登录的地方MainActivity
@Override
protected void onResume() {
Fragment fragment = getSupportFragmentManager().findFragmentByTag(
curTag);
if (fragment != null) {
fragment.onResume();
}
super.onResume();
// resumeStatus = isAppOnForeground();
if (app.getUsers() != null && app.getUsers().getUsername()!="") {
if (stopStatus == true && isActive == false) {
boolean switcher = SharePrefUtil.getBoolean(ct,
SharePrefUtil.KEY.SWITCH_GESTURE, false);
if (switcher == true) {
isActive = true;// app 从后台唤醒,进入前台
stopStatus = true;
long intoTime=SharePrefUtil.getLong(ct,SharePrefUtil.KEY.OUT_TIME,0);
if(System.currentTimeMillis()-intoTime>= Constants.INTOTIMELOCKED) {
// 暂时不提供锁频界面
/* Intent intent = new Intent(this, LockActivity.class);
startActivity(intent);*/
}
}
}
}
}