2011-12-14 86 views
0

這嚴格用於測試目的。我沒有將其構建到應用程序中。記錄所有用戶帳戶和密碼?

我試圖記錄所有用戶的保存賬號和密碼

AccountManager accountManager = AccountManager.get(this); 

    for(Account account : accountManager.getAccounts()) 
    { 
     System.out.println(account.name + " : " + accountManager.getPassword(account)); 
    } 

但我得到一個錯誤

E/AndroidRuntime(11944):java.lang.SecurityException異常:調用者的uid XXXXX是不同於認證者的用戶ID

我已閱讀this question但它並沒有真正解釋如何解決這個問題,只是爲了避免它,至少我是這麼認爲的。

有沒有辦法解決這個問題?

在此先感謝

+1

出於明顯的安全原因,您應該無法做到這一點。 – ethan 2011-12-14 17:37:28

回答

2

由於您無法以此方式獲取設備的帳戶,因此發生這種情況。 只有當您先前向AccountManager添加帳戶並且您希望稍後再檢索時,此功能纔有效。

這就是爲什麼告訴你沒有得到正確的許可。

要知道在設備中添加應該使用,例如帳戶:

AccountManager accountManager = AccountManager.get(this); 
Account[] accounts = accountManager.getAccounts(); 
accountManager.getUserData(accounts[0], AccountManager.KEY_USERDATA); 

希望它能幫助。

相關問題