AccountManager教程
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アカウント
??????????//這里省略
???? }
總結
以上是生活随笔為你收集整理的AccountManager教程的全部內容,希望文章能夠幫你解決所遇到的問題。