如何从AccountManager.getAccounts()获取与特定帐户关联的图标

时间:2012-05-18 17:25:28

标签: java android icons user-accounts accountmanager

每个帐户的帐户设置中都会显示一个图标。对于谷歌帐户,有一个图标,Facebook另一个。

有没有办法从应用程序中的代码中获取此图标?

1 个答案:

答案 0 :(得分: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;
    }