获取系统帐号的接口:
//获取帐号列表/或对应帐号类型的某个帐号
AccountManager#getAccounts()/getAccountsByType(String accountType)
获取系统帐号的权限
如果你的工程运行在Android 8.0(SDK version 26)的机器上,满足下面任意一个条件,你都仍然可以获取到系统帐号
1. Target API level below O and have deprecated GET_ACCOUNTS permission.
2. Have GET_ACCOUNTS_PRIVILEGED permission.
3. Have the same signature as authenticator.
4. Have READ_CONTACTS permission and account type may be associated with contacts data - (verified by WRITE_CONTACTS permission check for the authenticator).
条件 1:
targetSdkVersion<26,判断逻辑和8.0之前的判断逻辑是一样的,会检查***Manifest.permission.GET_ACCOUNTS***的权限(Android6.0及以上是运行时权限,需动态申请)
条件 2:
有权限***Manifest.permission.GET_ACCOUNTS_PRIVILEGED***,只有priv/app目录下的app声明之后才会授予此权限 (不管targetS