Nea*_*lia 6 android logout twitter-fabric
我用了
Twitter.getSessionManager().clearActiveSession();
Run Code Online (Sandbox Code Playgroud)
这不起作用,下次当我使用twitter登录时,它会打开浏览器的对话框,需要先前的登录,并询问"允许应用程序获取您的数据?",但不要求输入用户名和密码.任何帮助都将是赞赏.
Nea*_*lia 35
我终于找到了解决这种情况的方法.
无意中,我在Twitter SDK Kit for Android中找到了一种方法
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
Twitter.getSessionManager().clearActiveSession();
Twitter.logOut();
Run Code Online (Sandbox Code Playgroud)
这很简单,我花了大约半个小时才找到它.
对于3.0及更高版本
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
TwitterCore.getInstance().getSessionManager().clearActiveSession()
Run Code Online (Sandbox Code Playgroud)
Moh*_*ngh 13
现在不推荐使用CookieSyncManager,我这样做:
public void logoutTwitter() {
TwitterSession twitterSession = TwitterCore.getInstance().getSessionManager().getActiveSession();
if (twitterSession != null) {
ClearCookies(getApplicationContext());
Twitter.getSessionManager().clearActiveSession();
Twitter.logOut();
}
}
public static void ClearCookies(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();
} else {
CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(context);
cookieSyncMngr.startSync();
CookieManager cookieManager=CookieManager.getInstance();
cookieManager.removeAllCookie();
cookieManager.removeSessionCookie();
cookieSyncMngr.stopSync();
cookieSyncMngr.sync();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8360 次 |
| 最近记录: |