android帐号管理token问题

     

对于帐号管理,由接口IAccountManager描述其相关的一组行为AccountManagerService是Android的系统服务。它实现了接口IAccountManager定义的这一组行为。这些行为的实现依赖应用程序中定义的    Authenticator。 AccountManager是一个面向应用程序开发的组件。它提供一组对应于IAccountManager协议的应用程序接口。这组接口通过Binder机制与系统服务AccountManagerService进行通信,协作完成帐户相关的操作。同时,AccountManager接收应用程序提供的回调,以此在帐号操作完成之后向应用程序返回对应的结果,同时触发应用程序层对这个结果的处理。

       那么在使用帐号AccountManager获取token的时候经常会碰到过期的问题,这个问题在跟账户相关的app上都会遇到,参考google的解决方案是getToken的方法是先从cache中取token返回,如果cache中没有token则从服务器取最新token返回给接口,那么这里存在一个问题就是从cache中取到的token如果是过期的该如何破呢,正确答案是当接口返回token是过期的,则invalidateAuthToken再重新获取token解决问题。

相关参考 :

http://developer.android.com/intl/zh-tw/reference/android/accounts/AccountManager.html#invalidateAuthToken(java.lang.String


你可能感兴趣的:(android帐号管理token问题)