2012-03-07 88 views
0

我實際上準備使用設備Google帳戶發佈應用以在Google App Engine服務器上進行身份驗證。舉報GET_ACCOUNTS在其他應用中的權限

爲了做到這一點,我需要這些權限:

  • USE_CREDENTIALS:明明
  • INTERNET:明明
  • GET_ACCOUNTS:詢問用戶選擇帳戶登記了他的手機上的谷歌之一。

我的問題是與GET_ACCOUNTS:我認爲這是相當侵入性要求與INTERNET的這種權限:我將能夠得到他所有的帳戶(谷歌,臉譜等...),並將它們發送到我的服務器(我當然不會這麼做!)。但我擔心這種權限可能會嚇到用戶,並且他們可能不會下載我的應用程序...

我有想法向其他應用程序報告此權限,該應用程序不具有INTERNET權限。這個應用程序將被意圖調用,並只返回用戶選擇的帳戶。然後,我的主應用程序不再需要GET_ACCOUNTS。

的源代碼有:http://code.google.com/p/account-chooser/ 這很簡單(只有一個屏幕)

要發送的意圖,這個程序我使用一個實用程序庫像IntentIntegrator從斑馬線。如果我的「帳戶選擇器」應用程序不在設備上,它會要求用戶從市場下載。

您對此有何看法?這是個好主意嗎 ?我是否有權爲下載神祕應用程序而困擾用戶,他可能不瞭解其用處?還是應該在我的主應用程序中使用GET_ACCOUNTS權限,而不必質疑自己的隱私?

+0

我還沒有用'AccountManager'玩過。你是否說通過'newChooseAccountIntent()'啓動一個活動需要'GET_ACCOUNTS'? – CommonsWare 2012-03-07 22:56:14

+0

此方法僅適用於api lvl 14,我使用api lvl 8 :-( – 2012-03-08 07:41:49

回答

6

因此,而不是隻要求你的應用程序中的GET_ACCOUNTS許可,你打算要求它在另一應用,進而暴露其經意向信息任何其他應用的設備上( )。

堅持要求GET_ACCOUNTS權限之內您的應用程序,並完成它。根據經驗,如果我下載的應用程序迫使我安裝另一個應用程序只需即可獲得一些功能,那麼..你知道接下來會發生什麼:)

+0

呃,是的,這就是我要做的事情......是的,它會通過意圖暴露給其他應用程序,但是用戶通過確認(確定/取消按鈕)來選擇要公開哪個帳戶。無論如何,我想我會改變主意並按照您的建議。 – 2012-03-08 17:47:04