在Android中,如何判斷用戶是否將此設備配置爲使用Gmail發送/接收電子郵件。如何確定用戶是否登錄到Gmail
如此配置的設備會在通知托盤中收到Gmail郵件,並會在設置/帳戶/ Google屏幕中將Gmail列爲同步項目。我正在尋找一種編程方式來訪問這個布爾信息。
在Android中,如何判斷用戶是否將此設備配置爲使用Gmail發送/接收電子郵件。如何確定用戶是否登錄到Gmail
如此配置的設備會在通知托盤中收到Gmail郵件,並會在設置/帳戶/ Google屏幕中將Gmail列爲同步項目。我正在尋找一種編程方式來訪問這個布爾信息。
我從這個SO帖子得到了一些幫助:What features are supported by Android's Google accounts authenticator?。
所以我用這個神奇的咒語,它似乎工作:
AccountManager.getAccountsByTypeAndFeatures("com.google", new String[]{"service_mail"}, ...);
如果得到的陣列具有非零長度,然後在用戶登錄到Gmail。
試試這個:
Account[] accounts = accountManager.getAccountsByType("com.google");
它只會工作的谷歌帳戶。您可以使用getAccounts()
代替getAccountsByType()
,現在accounts
將成爲所有同步帳戶的列表。您可以使用accounts.name
和accounts.type
你可以利用這個問題問here使用AccountManager.getAccounts或AccountManager.getAccountsByType來獲得設備上的所有帳戶名稱的列表方便地提取所需帳戶。幸運的是,對於某些帳戶類型(包括com.google
)和參考this link too
謝謝,這得到了我需要的大部分內容,但不幸的是,一個Account對象實際上並不告訴我該設備是否設置爲專門執行Gmail。對於這些信息,似乎需要查詢「功能」(有關詳細信息,請參閱此帖子的其他答案)。 –
謝謝,這得到了我需要的大部分內容,但不幸的是,Account.name和Account.type實際上並不告訴我該設備是否設置爲專門執行Gmail。對於這些信息,似乎需要查詢「功能」(有關詳細信息,請參閱此帖子的其他答案)。 –