事情是这样的,我们最近开了一个APP,主要使用xamarin做了一个登陆,它与服务器API进行数据通讯,当用户名密码正确去,跳转到新的activity,并在webview控件中打开服务端的Html5页面,而h5页面有些需要进行授权才能访问,如用户中心,我的订单,我的商品等等,而我 ...
事情是这样的,我们最近开了一个APP,主要使用xamarin做了一个登陆,它与服务器API进行数据通讯,当用户名密码正确去,跳转到新的activity,并在webview控件中打开服务端的Html5页面,而h5页面有些需要进行授权才能访问,如用户中心,我的订单,我的商品等等,而我们的登陆是在原生的activity里实现的,在登陆成功后服务端会向它分配一个SessionID,并存储在客户端,以做为下次访问的标识,而使用webview进行访问页面时,这个sessionID和之前的是不同的,所以,在之前的授权是无效的,为了解决这个问题,我们需要让原生和H5网站的sessionID进行同步!
Login Activity内容
if (msg.State == "200") { var ccd = new List<string>(response.Result.Headers.GetValues("Set-Cookie")); var arr = ccd[0].Split(new char[] { ';' })[0].Split(new char[] { '=' })[1]; Toast.MakeText(this, "sessionid=" + arr, ToastLength.Short).Show(); ConfigData.SessionID = arr; Intent intent = new Intent(this, typeof(PageActivity)); StartActivity(intent); }
原标题:大叔也说Xamarin~Android篇~原生登陆与WebView的网站如何共享Session
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。