使用 AccountManager 实现系统内共享账号

本文介绍如何利用Android的AccountManager在不同应用间共享账号信息。通过设置相同用户组、签名和accountType,实现账号的创建、删除以及第三方应用获取用户和token等信息的操作。详细步骤包括权限配置、服务注册、AccountAuthenticator实现等。
摘要由CSDN通过智能技术生成

前言

在开发过程中我们可能遇到自家应用间共享账号的场景。例如 APP1 登录成功后,启动 APP2 时自动完成登录并与 APP1 共享账号信息。

Android 为我们提供了AccountManager 来管理账号信息。

demo 地址

共享前提

  1. 两个 app 在一个用户组内
  2. 使用相同的签名(使用 debug 默认签名也可以共享)
  3. accountType 相同

原理

AccountManager是一个面向应用程序开发的组件,它提供了一套对应于 IAccountManager 协议的应用程序接口;这组接口通过Binder机制与系统服务AccountManagerService进行通信,协作完成帐号相关的操作。同时,AccountManager接收authenticators 提供的回调,以便在帐号操作完成之后向调用此帐号服务的业务返回对应的接口,同时触发这个业务对结果的处理。
- authenticators 即注册帐号服务的app;
- 业务调用方 即使用authenticators提供的帐号服务的第三方,也可以是authenticator自己

摘自:Android AccountManager帐号管理(一)

使用

该项目中有两个 module ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值