docs: Clarification for location permissions and location hardware

am: 1294dde183

Change-Id: Ia22fe839858162a99b852b51b577c69aaa7621c2
This commit is contained in:
Joe Fernandez
2016-09-16 22:59:02 +00:00
committed by android-build-merger
3 changed files with 20 additions and 17 deletions

View File

@@ -160,22 +160,25 @@ android.location.LocationManager#GPS_PROVIDER}.</p>
android.location.LocationManager#NETWORK_PROVIDER} and {@link android.location.LocationManager#NETWORK_PROVIDER} and {@link
android.location.LocationManager#GPS_PROVIDER}, then you need to request only android.location.LocationManager#GPS_PROVIDER}, then you need to request only
the {@code ACCESS_FINE_LOCATION} permission, because it includes permission the {@code ACCESS_FINE_LOCATION} permission, because it includes permission
for both providers. (Permission for {@code ACCESS_COARSE_LOCATION} includes for both providers. Permission for {@code ACCESS_COARSE_LOCATION} allows
permission only for {@link access only to {@link android.location.LocationManager#NETWORK_PROVIDER}.
android.location.LocationManager#NETWORK_PROVIDER}.)
</p> </p>
<p class="note"> <p id="location-feature-caution" class="caution">
<strong>Note:</strong> If your app targets Android 5.0 (API level 21) or <strong>Caution:</strong> If your app targets Android 5.0 (API level 21) or
higher, you must also declare that your app uses the higher, you <em>must</em> declare that your app uses the
<code>android.hardware.location.network</code> or <code>android.hardware.location.network</code> or
<code>android.hardware.location.gps</code> hardware feature in the manifest <code>android.hardware.location.gps</code> hardware feature in the manifest
file, depending on whether your app receives location updates from {@link file, depending on whether your app receives location updates from {@link
android.location.LocationManager#NETWORK_PROVIDER} or from {@link android.location.LocationManager#NETWORK_PROVIDER} or from {@link
android.location.LocationManager#GPS_PROVIDER}. If your app receives location android.location.LocationManager#GPS_PROVIDER}. If your app receives location
information from both of these providers, you need to declare that the app information from either of these location provider sources, you need to
uses both <code>android.hardware.location.network</code> and declare that the app uses these hardware features in your app manifest.
<code>android.hardware.location.gps</code>. On devices running verions prior to Android 5.0 (API 21), requesting the
{@code ACCESS_FINE_LOCATION} or {@code ACCESS_COARSE_LOCATION} permission
includes an implied request for location hardware features. However,
requesting those permissions <em>does not</em> automatically request location
hardware features on Android 5.0 (API level 21) and higher.
</p> </p>
<p> <p>

View File

@@ -1685,13 +1685,13 @@ densities: '160'
<pre>&lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt;</pre> <pre>&lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt;</pre>
<p class="note"> <p class="caution">
<strong>Note:</strong> If your app targets Android 5.0 (API level 21) or <strong>Caution:</strong> If your app targets Android 5.0 (API level 21) or
higher and uses the <code>ACCESS_COARSE_LOCATION</code> or higher and uses the <code>ACCESS_COARSE_LOCATION</code> or
<code>ACCESS_FINE_LOCATION</code> permission in order to receive location <code>ACCESS_FINE_LOCATION</code> permission in order to receive location
updates from the network or a GPS, respectively, you must also explicitly updates from the network or a GPS, respectively, you must also explicitly
declare that your app uses the <code>android.hardware.location.network</code> declare that your app uses the <code>android.hardware.location.network</code>
or <code>android.hardware.location.gps</code> hardware feature, respectively. or <code>android.hardware.location.gps</code> hardware features.
</p> </p>
<p class="table-caption" id="permissions-features"> <p class="table-caption" id="permissions-features">
@@ -1750,8 +1750,8 @@ densities: '160'
<code>android.hardware.location</code> <code>android.hardware.location</code>
</p> </p>
<p> <p>
<code>android.hardware.location.network</code> (Target API level 20 or <code>android.hardware.location.network</code>
lower only.) (Only when target API level is 20 orlower.)
</p> </p>
</td> </td>
<!-- <td></td> --> <!-- <td></td> -->
@@ -1763,8 +1763,8 @@ densities: '160'
<code>android.hardware.location</code> <code>android.hardware.location</code>
</p> </p>
<p> <p>
<code>android.hardware.location.gps</code> (Target API level 20 or lower <code>android.hardware.location.gps</code>
only.) (Only when target API level is 20 orlower.)
</p> </p>
</td> </td>

View File

@@ -156,7 +156,7 @@ application must request the audio capture permission.
</li> </li>
<li> <li>
<p><strong>Location Permission</strong> - If your application tags images <p><strong>Location Permission</strong> - If your application tags images
with GPS location information, you must request the "fine location" with GPS location information, you must request the {@code ACCESS_FINE_LOCATION}
permission. Note that, if your app targets Android 5.0 (API level 21) or permission. Note that, if your app targets Android 5.0 (API level 21) or
higher, you also need to declare that your app uses the device's GPS:</p> higher, you also need to declare that your app uses the device's GPS:</p>
<pre> <pre>