AccountManager使用教程
API解讀
這個(gè)類給用戶提供了集中注冊(cè)賬號(hào)的接口。用戶僅僅要輸入一次賬戶password后,就能夠訪問internet資源。
不同的在線服務(wù)用不同的方式管理用戶,所以account manager 為不同類型的賬戶提供了統(tǒng)一驗(yàn)證管理的方法,處理有效的賬戶的具體信息而且實(shí)現(xiàn)排序。比方Google,Facebook,Microsoft Exchange 各自有他們的驗(yàn)證方法。
非常多server支持一些驗(yàn)證算法,能夠不須要發(fā)送用戶password驗(yàn)證是否正確。AccountManager能夠?yàn)閼?yīng)用生成tokens,這樣應(yīng)用就不須要直接處理password。tokens是能夠被復(fù)用的而且由AccountManager緩存,可是必須周期性的刷新。應(yīng)用程序必須在停止工作時(shí)丟棄tokens以便讓AccountManager知道須要又一次生成tockens。
?
AccountManager使用步驟:(carrrimail 代碼演示樣例)
第一,獲得AccountManager 的實(shí)例
?AccountManager.get(context)
?
第二,使用getAccountsByType(String)或getAccountsByTypeAndFeatures(String, String[], AccountManagerCallback, Handler)獲得可用的賬戶
Account[] accounts = AccountManager.get(context).getAccountsByType(
??????????????? "com.google");
//carrimail 中須要獲得gmail的賬戶在此傳入"com.google"
?
第三,假設(shè)應(yīng)用程序使用了一個(gè)之前記住的賬戶信息,必須確保這個(gè)賬戶在getAccountsByType(String)返回的結(jié)果集中,假設(shè)使用了一個(gè)已經(jīng)不在設(shè)備上的賬戶會(huì)拋出一個(gè)undefined異常。
?
第四,在使用getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback, Handler)或者其它方法獲取選中賬戶的auth token時(shí),查看相關(guān)文檔了解確切的使用方法以及異常處理的方法。
?
第五,假設(shè)請(qǐng)求失敗報(bào) authentication error,這許是緩存的auth token過期了,須要調(diào)用invalidateAuthToken(String, String)方法。
遍歷獲得的accounts信息
for (Account account : accounts) {
??????????? String name = account.name; // メールアドレス
??????????? // Googleアカウント
??????????//此處省略
???? }
總結(jié)
以上是生活随笔為你收集整理的AccountManager使用教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python阶乘函数_python 阶乘
- 下一篇: 安卓AccountManager数据库存