前言

在开发过程中我们可能遇到自家应用间共享账号的场景。例如 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 ,app 对应注册账号服务的app,app1 对应使用账号服务的第三方应用

  • 在两个应用的 manifest 中加入 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 权限

  • 在 app 中创建 authenticator.xml 文件,注意 accountType 的配置,这里的应用名及 icon 会在设备的 设置 -> 账号 中显示

  • 在 app 中注册一个 action 为“android.accounts.AccountAuthenticator”的 authenticator service,引入上一步创建的 xml 文件

  • 在 app 中创建 authenticator

创建账号

删除账号

第三方 app 获取 用户,token 等信息

关于我

我是 Flywith24,我的博客内容已经分类整理 在这里,点击右上角的 Watch 可以及时获取我的文章更新哦

使用 AccountManager 实现系统内共享账号相关推荐

  1. ios共享账号公众号_【IOS游戏账号共享】江湖霸图

    感谢有您 感谢你来到这里,希望小伙伴们能够星标我们公众号,点一点右下角的都在看.关注一下我们.我们致力于打造最完美最具资源的账号. 我们致力于用自己的信用卡所剁手所买过的所有账号以及行业里交流来的朋友 ...

  2. Midjourney 创建私人画图机器人,共享账号如何设置独立绘画服务器(保姆级教程)

    你是不是遇到以下问题: 1.Midjourney会员怎么自建绘图服务器,不受其他人的打扰? 2.Midjourney会员共享账号如何自建服务器,供其他人使用? 3.在官方服务器作图,频道里面的人太多了 ...

  3. ios共享账号公众号_【IOS游戏账号共享】英雄联盟手游

    感谢有您 感谢你来到这里,希望小伙伴们能够星标我们公众号,点一点右下角的都在看.关注一下我们.我们致力于打造最完美最具资源的账号. 我们致力于用自己的信用卡所剁手所买过的所有账号以及行业里交流来的朋友 ...

  4. ios共享账号公众号_家人公众号和共享相册

    大家好,这里是家里种草公众号,我是乐乐,欢迎各位吃瓜群众订阅,一同分享更多资源. 很早就希望能找一个家庭共享照片的解决方案,之前我建过QQ相册,但是现在大家都很少使用QQ,而且大家手机平台各不相同,使 ...

  5. ios共享账号公众号_英雄联盟手游预约起来!最新2020年ios日本AppleID账号密码共享...

    免费给大家分享2020年最新ios日本Appleid账号密码,共享的苹果id账号无需注册,可直接使用.本页面会定期进行更新维护,定期解锁ID,请各位使用完后及时退出手机. 日本地区所出的动漫和手游类软 ...

  6. 服务器管理器如何添加共享账号,大势至共享文件管理系统如何添加账号

    大势至共享文件权限设置软件是根据文件服务器上用户账号来设置访问权限的(也支持以MAC地址来设置共享文件访问权限).因此需要注意以下几个方面: 1.必须在服务器上创建账号,然后才会被本系统读取到用户列表 ...

  7. 运维之道 | Samba 文件共享传输服务(匿名用户访问、指定用户访问、共享账号映射访问)

    前言 1.Samba 概述 Samba 最先在Linux和Windous两个平台之间架起一座桥梁,正式由于Samba的出现,我们可以在Linux系统和Windows系统之间互相通信,比如拷贝文件.实现 ...

  8. Remote desktop manager共享账号

    因为多个远程机器,是会用了域账号进行登录的.而域账号的密码,三个月之后,密码强制过期 添加一个新的entry,类型是Credential Entry,然后选择用户名/密码 在remote deskto ...

  9. ios共享账号公众号_forest 专注森林 ios下载账号分享 公众号 iphone ipad

    1 最重要的要放在最前面 扫码关注公众号 回复forest即可免费获取下载账号密码 应用&游戏仅供试用 如果好用,敬请在applestore购买 您的转发跟在看是小编不断更新的动力 2 应用介 ...

最新文章

  1. WPS 2019 更新版(8392)发布,搭配优麒麟 19.04 运行更奇妙!
  2. 图像配准的前世今生:从人工设计特征到深度学习
  3. H3CSE 380笔记
  4. PHP 小tip .(@)符号和 php if 赋值
  5. 深入Java泛型(二):通配符与嵌套
  6. JS的parseInt
  7. linux shell编程多线程和wait命令学习
  8. linux c++连接mysql示例
  9. 做YH更新,引发众多思考.
  10. 【轻量级网络】MobileNet-v2详解
  11. 快速傅里叶变换 python_Python实现快速傅里叶变换的方法(FFT)
  12. 一个兼容IE7\IE8,H5的多功能视频播放器,H5视频播放器兼容Flash视频播放器
  13. webview如何自动登录保存登录信息详情
  14. spring 源码下载
  15. PowerDesigner 数据字典模板
  16. 加密Python源代码笔记
  17. 高中计算机考试解析,2019下半年教师资格面试考试高中信息技术试题分析
  18. 到底要不要去外包公司?这篇带你全面了解外包那些坑!
  19. web html div javascript 实现踩黑块游戏
  20. C语言的函数到底是什么

热门文章

  1. 【品牌搜索】两步查找品牌数据,快速实现品牌营销布局。
  2. base64编码转码
  3. Unity相机旋转和人物朝向
  4. 【华为昇腾社区、鹏城实验室】中国软件开源创新大赛·赛道二:任务挑战赛(模型王者挑战赛黄金赛段)
  5. 【OpenWRT】 Chaos Calmer 15.05 编译
  6. 数据库事务隔离发展历史
  7. 微服务时代,你还不懂APM?
  8. 昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计
  9. 西门子S7-200PLC自由口初始化
  10. 移动端css动态字体大小fontSize rem