2011-09-07 77 views
0

我想在我的應用程序中添加功能,即一個谷歌帳戶添加到Android的客戶經理,通過使用方法
mAccountManager = AccountManager.get(getBaseApplicationContext());
Account account = new Account("sample.account", "com.google");
​​
的應用谷歌帳戶添加但它表示一個例外使用的AccountManager

java.lang.SecurityException異常:調用者UID 10117比不同的 authenticato的r UID


是否可以在應用程序代碼中添加帳戶(更準確地說是登錄到已有的Google帳戶)?我應該使用哪種方法?

回答

1

您需要使用與帳戶類型相同的UID,但無法使用該軟件包(將其轉換爲UID)「com.google」對應用程序進行簽名。

可以使用獲取可用的帳戶:

manager.getAccountsByType("com.google"); // returns array 

或API級別14,你可以撥打:

AccountManager.newChooseAccountsIntent(null, null, new String[]{"com.google"}, false, null, null, null, null); 

如果你想讓它在早期版本中,你可以得到源代碼並執行您項目中的相同機制。

添加Google帳戶的唯一選擇是獲取發送登錄活動時發送的意圖,並嘗試發送相同意圖以要求用戶輸入該帳戶。一旦進入你可以用我提到的方法獲得細節。

相關問題