2013-10-03 46 views
4

我一個集成SDK,它需要我把這個:android:required =「false」是什麼意思WRT使用權限?

<uses-permission 
    android:name="android.permission.ACCESS_FINE_LOCATION" 
    android:required="false" /> 

我明白了一個uses-featureandroid:required="false",但我不明白的權限的含義。它不在docs中作爲屬性列出。

它是類似於requiresuses-feature?如果權限暗示功能列於here,那麼這些功能不是必需的?

回答

5

正如你所說,根據the documentation,它是不是在<uses-permission>標籤有效的屬性。它接着說(重點煤礦):

爲了控制過濾,總是明確的元素聲明硬件功能,而不是依賴於谷歌播放「發現」中的元素的要求。然後,如果要禁用某個特定功能的過濾功能,可以將android:required="false"屬性添加到聲明中。

我會建議你的SDK文檔可能是錯誤的,你應該包含一個<uses-feature>標籤的任何隱含的功能。

+1

是的,我認爲是錯的,我會告訴他們,看看他們說什麼 – weston

5

uses-permission只是告訴應用程序將使用一些功能的用戶,但該設備包括它才能正常工作這不是強制性的。

android-required意味着該功能是強制性的,應用程序將不會爲未實現其設備可見。

對於instance.-

意味着應用程序使用拍照功能。如果相機是您應用的必備功能,設置android:required="true"將防止它被下載到沒有相機的設備。

編輯

其實,我想在uses-feature標籤。 uses-permission沒有required屬性。

+0

「意味着該功能是強制性的」這是一個許可不是一個功能,所以它然後參照默示性功能? – weston

+0

而你在說默認情況下權限不是強制性的。然後我想知道他們爲什麼告訴要爲某些權限添加'android:required =「false」'。 – weston

+0

嗯,你是對的,我完全混合了權限和功能。其實,我想權限沒有屬性android:required屬性。 – ssantos

2

使用的許可不使用屬性的android:必需的,但使用特徵一樣。這些想法是相似的,但不完全相同,這就是爲什麼容易混淆他們的屬性要求的原因。