2015-06-23 28 views
0

有没有方法可以确定从AccountManager返回的帐户是否支持联系人或日历事件?如何判断AccountManager帐户是否支持联系人

我看到有一种叫AccountManagerFeature的东西,但我没有看到使用它的一般方法。

总之,我想要的是在创建新事件或新联系人时向用户呈现帐户列表。该列表应仅显示分别适用于存储事件和联系人的帐户。

回答

0

我已经这样做了以下这样的回答: What features are supported by Android's Google accounts authenticator?

不知道怎么最新的代码,但那些你需要的工作。

private static final String ACCOUNT_TYPE_GOOGLE = "com.google"; 
private static final String[] FEATURES = { "service_mail","service_cl","service_sitemaps" }; 

private void testGetAccountsByTypeAndFeatures() { 
    AccountManagerFuture<Account[]> accounts = AccountManager.get(this).getAccountsByTypeAndFeatures(ACCOUNT_TYPE_GOOGLE, FEATURES, new AccountManagerCallback<Account[]>() { 
     @Override 
     public void run(AccountManagerFuture<Account[]> future) { 
      try { 
       for (Account account : future.getResult()) { 
        Log.d("ACCOUNT",account.toString()); 
       } 
      } catch (OperationCanceledException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } catch (AuthenticatorException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, null); 
} 

不要忘记添加的权限

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
+0

看来,这只会工作的谷歌帐户。其他类型的账户如Facebook呢?他们可以使用自己的特征字符串,正确吗? –

+0

是的,他们会使用自己的字符串,因为他们可以拥有自己的功能。我找不到其他文件,对不起。 – isma3l

相关问题