使用AccountManager android获取本地/设备联系人姓名和类型

时间:2014-03-10 08:01:22

标签: android android-contacts accountmanager

/**
 * Get All Account available in Phone and add into list
 */
private void getAllAccounts() {
    int counter = 0;
    final AccountManager accManager = AccountManager
            .get(Activity.this);
    final Account accounts[] = accManager.getAccounts();

    for (int i = 0; i < accounts.length; i++) {
        Log.i(TAG, "Name " + accounts[i].name + ", Type "
                    + accounts[i].type);
    }
}

我使用上面的代码获取设备的所有可用帐户。它在索尼设备上运行良好,但在三星,Micromax,HTC中无效。不知道这背后的原因是什么。如果有人有任何想法,请帮助我。

我无法获取SAMSUNG,HTC,MICROMAX的本地/电话/设备联系人姓名和类型。

1 个答案:

答案 0 :(得分:0)

做这样的事情

private String[] getAccountNames() {
    mAccountManager = AccountManager.get(this);
    Account[] accounts = mAccountManager.getAccountsByType(
            GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
    String[] names = new String[accounts.length];
    for (int i = 0; i < names.length; i++) {
        names[i] = accounts[i].name;
    }
    return names;
}

更多访问

http://developer.android.com/google/play-services/auth.html