如何从AccountManager.getAccounts()中获取与特定账户相关联的图标?

10

在每个账户的设置中都会显示一个图标。对于 Google 账户,有一个图标,而对于 Facebook 账户,则有另外一个。

是否有一种方法可以从应用程序代码中获取这个图标?

1个回答

8
最后,我解决了它:
    private Drawable getIconForAccount(Account account, AccountManager manager) {
        AuthenticatorDescription[] descriptions =  manager.getAuthenticatorTypes();
        PackageManager pm = getContext().getPackageManager();
        for (AuthenticatorDescription description: descriptions) {
            if (description.type.equals(account.type)) {
                return pm.getDrawable(description.packageName, description.iconId, null); 
            }
        }
        return null;
    }

“ContactManager”示例中有一个关于如何获取账户图标的例子,如果我没记错的话。 - user
谢谢,但是我怎么获得小图标? - Akshay
明白了,使用 smallIconId 而不是 iconId - Akshay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接