2012-08-03 46 views
3

如果您未在Android中設置sharedUserId,則會根據Android documentation自動爲該應用程序分配一個唯一的應用程序。Android中sharedUserId的唯一性

sharedUserId以什麼方式獨特?它是否僅適用於應用程序,即所有設備上的應用程序是否都具有相同的sharedUserId?這意味着您可以通過編程方式找到一個安裝,並將該值用於第二個應用程序。

或者ID是一個隨機值,在每個設備上不同?

回答

2

但是sharedUserId以什麼方式是唯一的?

所有Linux用戶帳戶都是唯一的。 android:sharedUserId表示由相同簽名密鑰簽署的2+應用程序應該共享一個Linux用戶帳戶。默認情況下,他們各自擁有自己的Linux用戶帳戶。

是否應用程序在所有設備上具有相同的sharedUserId?

無論你選擇使用它,它的值都是相同的android:sharedUserId。不過,Linux用戶帳戶對於不同的設備會有所不同。

或者ID是一個隨機值,在每個設備上不同?

我不會說「隨機」,因爲我不知道用於選擇數字的精確算法。

+0

謝謝!我不會在任何地方「選擇使用它」,我正在談論自動分配的一個。這個ID在所有設備上都有所不同,或者Android是否將相同的自動生成的ID分配給給定應用程序的所有安裝? – caw 2012-08-03 19:20:20

+0

@MarcoW .:「我正在談論自動分配的一個」 - 沒有自動分配'android:sharedUserId'。請注意在'sharedUserId'中使用「共享」一詞。這隻能由你作爲開發人員選擇。 – CommonsWare 2012-08-03 19:32:01

+0

好的,你說得對。我其實想要引用應用的Linux用戶ID。如果這是自動分配的,對於跨設備的一個應用程序或隨機應用程序總是相同的? – caw 2012-08-03 23:16:58