AccountManager使用教程

摘要:
不同的在线服务以不同的方式管理用户,因此帐户管理器为不同类型的帐户提供统一的身份验证管理方法,处理有效帐户的特定信息并实现排序。AccountManager可以为应用程序生成令牌,因此应用程序不需要直接处理密码。令牌可以由Account Manager重用和缓存,但必须定期刷新。应用程序停止工作时必须丢弃令牌,以便帐户管理器知道需要再次生成令牌。

API解读

这个类给用户提供了集中注冊账号的接口。用户仅仅要输入一次账户password后,就能够訪问internet资源。

不同的在线服务用不同的方式管理用户,所以account manager 为不同类型的账户提供了统一验证管理的方法,处理有效的账户的具体信息而且实现排序。比方Google,Facebook,Microsoft Exchange 各自有他们的验证方法。

非常多server支持一些验证算法,能够不须要发送用户password验证是否正确。AccountManager能够为应用生成tokens,这样应用就不须要直接处理password。tokens是能够被复用的而且由AccountManager缓存,可是必须周期性的刷新。应用程序必须在停止工作时丢弃tokens以便让AccountManager知道须要又一次生成tockens。

AccountManager使用步骤:(carrrimail 代码演示样例)

第一,获得AccountManager 的实例

 AccountManager.get(context)

第二,使用getAccountsByType(String)getAccountsByTypeAndFeatures(String, String[], AccountManagerCallback, Handler)获得可用的账户

Account[] accounts = AccountManager.get(context).getAccountsByType(
                "com.google");

//carrimail 中须要获得gmail的账户在此传入"com.google"

第三,假设应用程序使用了一个之前记住的账户信息,必须确保这个账户在getAccountsByType(String)返回的结果集中,假设使用了一个已经不在设备上的账户会抛出一个undefined异常。

第四,在使用getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback, Handler)或者其它方法获取选中账户的auth token时,查看相关文档了解确切的使用方法以及异常处理的方法。

第五,假设请求失败报 authentication error,这许是缓存的auth token过期了,须要调用invalidateAuthToken(String, String)方法。

遍历获得的accounts信息

for (Account account : accounts) {
            String name = account.name; // メールアドレス
            // Googleアカウント
          //此处省略

     }

免责声明:文章转载自《AccountManager使用教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python——pandas初体验noodjs(koa)+mysql搭建服务器环境及基本的增删改查操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java 添加properties文件读写

import java.io.InputStream; import java.util.Properties; /** * @author guoxiang * */ public class Config { private static Config instance = null; private Propert...

C#学习笔记(22)——C#创建文本文件txt并追加写入数据

ref: https://www.cnblogs.com/Jacklovely/p/7263844.html 说明(2017-7-31 16:25:06): 1. 有两种办法,第一种是用FileStream创建txt,用StreamWriter写入数据,期间还要加上判断,是否存在这个txt文件,如果不存在就创建,存在就追加写入。太麻烦了! 2. 第二种是直...

[Android]Android四大组件之ContentProvider

URI简介 URI(Universal Resource Identifier),又被称为"通用资源标志符"。 URI由许多部分所组成,示例及解说如下: Content URIs介绍 Android遵循URI的标准,定义了一套专用的Uri(即,Content URIs)。并且,Android提供了ContentUris、UriMatcher等类用于操作...

C# oracle 参数传递的多种方式 留着复习

ORA-01036 非法的变量名/编号,(解决) 博客分类:oracle SQL 下边的代码就会造成 ORA-01036 非法的变量名/编号 C#代码 cmd.CommandText="SELECT*FROMkk.kkyhWHEREid=@comboBox1andpassword=@textBox1"; cmd.Parameters.Add(...

C# POST multipart/form-data 方式提交数据

一.提交方法 /// <summary> /// MultipartFormData Post方式提交 /// </summary> /// <param name="url"></param> /// <param name="kVD...

Redis设置过期时间

一般添加值之后,不设置过期时间的话,ttl某个键会显示-1,表示此时并没有设置过期时间 当设置了过期时间之后,则会显示剩余过期秒数 设置过期时间的做法 #region 设置过期时间 //设置多少秒 client.Set<string>("name",...