gpt4 book ai didi

android - 使用 AccountPicker.newChooseAccountIntent 选择电子邮件

转载 作者:IT王子 更新时间:2023-10-28 23:30:03 27 4
gpt4 key购买 nike

我正在尝试让用户使用以下代码选择一个电子邮件帐户:

Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String[]{"com.google"},
false, null, null, null, null);
startActivityForResult(intent, 23);

此代码效果很好,但如果用户没有 Gmail 帐户,但有 Yahoo、Hotmail 等。如何通过更改第三个参数显示所有电子邮件帐户:

new String[]{"com.google"}

非常感谢

最佳答案

根据文档,第三个参数是allowableAccountTypes:

allowableAccountTypes

an optional string array of account types. These are used both to filter the shown accounts and to filter the list of account types that are shown when adding an account.

对于电子邮件应用程序中的 IMAP 帐户,该类型返回为 "com.google.android.legacyimap" (请不要在生产中记录帐户的详细信息):

AccountManager accountManager = AccountManager.get(getApplicationContext());
Account[] accounts = accountManager.getAccountsByType(null);
for (Account account : accounts) {
Log.d(TAG, "account: " + account.name + " : " + account.type);
}

这就是使用(将您需要的所有帐户类型添加到数组中)

Intent intent = AccountPicker.newChooseAccountIntent(null, null,
new String[] {"com.google", "com.google.android.legacyimap"},
false, null, null, null, null);

正在我的设备上返回以下内容:

Choose an account

请注意 AccountPicker类是 Google Play 服务包的一部分,可以使用 AccountManager.newChooseAccountIntent() (在 API 级别 14 中添加)改为并获得相同的结果。

希望这会有所帮助。

关于android - 使用 AccountPicker.newChooseAccountIntent 选择电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com