Android AccountManager帐号管理(二)

本文主要探讨Android AccountManager的接口使用,包括AccountManagerFuture和AccountManagerCallback,以及针对注册帐号的authenticator app和使用帐号服务的apps的不同接口,详细解析了获取AccountManager实例、授权接口和帐号属性查询等相关功能。
摘要由CSDN通过智能技术生成

Android AccountManager 帐号管理(一)分享了如何将自己的帐号体系注册到系统服务AccountManagerService,统一由AccountManager来管理,这仅是自己的一点理解;但开发者对接的工作远不止如此,还有用户登录完成后如何将帐号添加到系统数据库中等等,AccountManager都有提供相对应的接口

在说接口之前,先看一下AccountManager会用到的两个接口类

一个是android.accounts.AccountManagerFuture

AccountManagerFuture类似于java的Future,提供了对AccountManager任务的执行进行取消,查询是否已经被取消,是否完成以及获取执行结果,通过getResult方法获取执行结果,该方法会阻塞直到任务返回结果

public interface AccountManager<V> {
/**取消任务的执行
如果任务已经完成/已经取消/不能被取消,则返回false
*/
boolean cancel(boolean mayInterruptIfRunning);
/**任务是否被取消
如果任务在完成之前被取消,则返回true
*/
boolean isCancelled();
/**任务是否完成
*/
boolean isDone();
/**获取任务的执行结果
这个接口可能会阻塞当前线程,直到任务完成/任务被cancel,故不要在主线调用此接口
*/
V getResult() throws OperationCanceledException, IOException, AuthenticatorException;
/**同上
参数规定了等待的时间timeout,如果超时,则会直接被cancel
*/
V getResult(long timeout, TimeUnit unit) throws OperationCanceledException, IOException, AuthenticatorException;
}
另一个是android.accounts.AccountManagerCallback

AccountManagerCallback,即AccountManager接口的回调,可在主线程执行

public interface AccountManagerCallback<V> {
   void run(AccountManagerFuture<V> future);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值