API解讀
這個類給用戶提供了集中注冊賬號的接口。用戶僅僅要輸入一次賬戶password后,就能夠訪問internet資源。
不同的在線服務用不同的方式管理用戶,所以account manager 為不同類型的賬戶提供了統一驗證管理的方法,處理有效的賬戶的具體信息而且實現排序。比方Google,Facebook,Microsoft Exchange 各自有他們的驗證方法。
非常多server支持一些驗證算法,能夠不須要發送用戶password驗證是否正確。AccountManager能夠為應用生成tokens,這樣應用就不須要直接處理password。tokens是能夠被復用的而且由AccountManager緩存,可是必須周期性的刷新。應用程序必須在停止工作時丟棄tokens以便讓AccountManager知道須要又一次生成tockens。
?
AccountManager使用步驟:(carrrimail 代碼演示樣例)
第一,獲得AccountManager 的實例
?AccountManager.get(context)
?
第二,使用
getAccountsByType(String)
或
getAccountsByTypeAndFeatures(String, String[], AccountManagerCallback, Handler)
獲得可用的賬戶
Account[] accounts = AccountManager.get(context).getAccountsByType(
??????????????? "com.google");
//carrimail 中須要獲得gmail的賬戶在此傳入"com.google"
?
第三,假設應用程序使用了一個之前記住的賬戶信息,必須確保這個賬戶在 getAccountsByType(String) 返回的結果集中,假設使用了一個已經不在設備上的賬戶會拋出一個undefined異常。
?
第四,在使用 getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback, Handler) 或者其它方法獲取選中賬戶的auth token時,查看相關文檔了解確切的使用方法以及異常處理的方法。
?
第五,假設請求失敗報 authentication error,這許是緩存的auth token過期了,須要調用 invalidateAuthToken(String, String) 方法。
遍歷獲得的accounts信息
for (Account account : accounts) {
??????????? String name = account.name; // メールアドレス
??????????? // Googleアカウント
??????????//此處省略
???? }
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
