我现在负责的一个项目中,涉及到第三方登录的问题(Oauth认证),我们公司开发的网站项目中,已经实现第三方登录的功能了(这是为网站开发的客户端),所以Android客户端这边就决定用WebView先访问自己服务器的一个web页面,再从公司的页面访问进行第三方登录。于是我想到了用JavaScript和Android交互的方案,在网站上登录完后调用Android本地的方法将值传回来,同时跳转回客户端。
本来感觉挺简单的,但实际中,遇到了Seesion的问题。就是说用IE访问和Android系统自带浏览器都能正常传递session值,但用WebView是就不行了,session值总是丢,但是不用WebView还没有办法执行回调。哎,解决吧....到网上找了很了,但总感觉和我的问题不一样。最后不行,把Android系统自带浏览器源码大概看了下,发现了点东西。其实是CookieSyncManager的问题,主要就是在WebView页面启动时把CookieSyncManager对象开启,页面关闭时再关闭,还有就是每次要把缓存删除了,直接看代码吧
package com.lasun.mobile.client.activity;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.CookieM
import android.app.Activity;
import android.os.Bundle;
import android.webkit.CookieM