2012-07-12 2 views
9

내 응용 프로그램이 사용할 수있는 경우 GPS/네트워크 위치에 액세스하려고합니다. Google Play에서 GPS/네트워크 로케이터가없는 기기를 걸러 내고 싶지 않습니다.위치 : GPS/네트워크 권한 : 가능하면 필요합니다.

어떻게해야합니까?

현재 내 매니페스트에 있습니다

-permission ACCESS_COARSE_LOCATIONandroid.hardware.location.networkandroid.hardware.location 기능을 의미한다 : 그러나

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-feature android:name="android.hardware.telephony" android:required="false" /> 
<uses-feature android:name="android.hardware.location" android:required="false" /> 

, 나는 때문에 http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features 상태, 충분한 그것이 확실하지 않다 요구 사항

-permission * ACCESS_FINE_LOCATION은 android.hardware.location.gps과을 의미합니다.android.hardware.location

또한 <uses-feature android:name="android.hardware.location.network" android:required="false" /><uses-feature android:name="android.hardware.location.gps" android:required="false" />를 추가해야합니까?

왜?

<uses-feature android:name="android.hardware.location" android:required="false" />으로 충분하지 않아야합니까?

+0

명시 적으로 "and"를 강조하므로 사용법을 모두 지정해야한다고 가정합니다. –

답변

3

예. 사용 권한이 API에 저장되는 방식 때문에 모두 포함해야합니다. 그들은 PackageManager class에 문자열로 저장됩니다. 예를 들어 우려하는 것을 가지고 가십시오, android.hardware.location. 문자열이 Manifest에 입력 한 것과 정확히 동일한 지 확인하십시오. Google Play는 필터링 할 때 정확하게 일치하는 항목을 찾습니다. 그래서 android.hardware.location.gps은 실제로는 android.hardware.location의 자식이 아니며, 조직을 위해 표현 된 것입니다.

관련 문제