AccountManager.GetAccountsByType(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Lists all accounts of particular type visible to the caller.
[Android.Runtime.Register("getAccountsByType", "(Ljava/lang/String;)[Landroid/accounts/Account;", "GetGetAccountsByType_Ljava_lang_String_Handler")]
[Android.Runtime.RequiresPermission("android.permission.GET_ACCOUNTS")]
public virtual Android.Accounts.Account[] GetAccountsByType (string? type);
[<Android.Runtime.Register("getAccountsByType", "(Ljava/lang/String;)[Landroid/accounts/Account;", "GetGetAccountsByType_Ljava_lang_String_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.GET_ACCOUNTS")>]
abstract member GetAccountsByType : string -> Android.Accounts.Account[]
override this.GetAccountsByType : string -> Android.Accounts.Account[]
Parameters
- type
- String
The type of accounts to return, null to retrieve all accounts
Returns
An array of Account
, one per matching account. Empty (never null) if no
accounts of the specified type have been added.
- Attributes
Remarks
Lists all accounts of particular type visible to the caller. These accounts may be visible because the user granted access to the account, or the AbstractAccountAuthenticator managing the account did so or because the client shares a signature with the managing AbstractAccountAuthenticator.
The account type is a string token corresponding to the authenticator and useful domain of the account. For example, there are types corresponding to Google and Facebook. The exact string token to use will be published somewhere associated with the authenticator in question.
<div class="caution">
<b>Caution: </b>This method returns personal and sensitive user data. If your app accesses, collects, uses, or shares personal and sensitive data, you must clearly disclose that fact to users. For apps published on Google Play, policies protecting user data require that you do the following:
<ul> <li>Disclose to the user how your app accesses, collects, uses, or shares personal and sensitive data. Learn more about acceptable disclosure and consent.</li> <li>Provide a privacy policy that describes your use of this data on- and off-device.</li> </ul>
To learn more, visit the Google Play Policy regarding user data.
</div>
It is safe to call this method from the main thread.
Caller targeting API level android.os.Build.VERSION_CODES#O
and above, will get list of accounts made visible to it by user (see #newChooseAccountIntent(Account, List, String[], String, String, String[], Bundle)
) or AbstractAccountAuthenticator using #setAccountVisibility
. android.Manifest.permission#GET_ACCOUNTS
permission is not used.
Caller targeting API level below android.os.Build.VERSION_CODES#O
that have not been granted the android.Manifest.permission#GET_ACCOUNTS
permission, will only see those accounts managed by AbstractAccountAuthenticators whose signature matches the client.
<b>NOTE:</b> If targeting your app to work on API level android.os.Build.VERSION_CODES#LOLLIPOP_MR1
and before, android.Manifest.permission#GET_ACCOUNTS
permission is needed for those platforms, irrespective of uid or signature match. See docs for this function in API level android.os.Build.VERSION_CODES#LOLLIPOP_MR1
.
Java documentation for android.accounts.AccountManager.getAccountsByType(java.lang.String)
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.