2015-06-23 91 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

相關問題