使用 Android WebView 实现新浪微博的 OAuth 登录时,新浪微博的授权页面会要求用户输入用户名、密码,然后应用程序得到 access token,保存在程序中。
当应用程序不需要这个绑定时,就不再保存 access token。如果想重新绑定到一个新的账号时,新浪的授权页面会自动使用上次的登录信息完成登录,直接跳转到Callback页面,用户没有机会输入新的用户名、密码。
从现象上看,新浪的登录页面做了一个自动登录的功能,所以只要清除Cookie信息,就可以阻止这个自动登录的行为。
通过这几行代码可以清除 WebView 的 cookie。
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
参考资料:
http://developer.android.com/reference/android/webkit/CookieManager.html
http://stackoverflow.com/questions/5404274/make-android-webview-not-store-cookies-or-passwords