10

利用可能な場合、アプリケーションが GPS/ネットワークの場所にアクセスできるようにします。Google Play で GPS/ネットワーク ロケータのないデバイスを除外したくありません。

どうすればいいですか?

現在、マニフェストにこれがあります:

<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_COARSE_LOCATIONは、要件を意味android.hardware.location.networkし、 android.hardware.location機能します

-パーミッション *ACCESS_FINE_LOCATION はandroid.hardware.location.gpsandroid.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" />か?

4

1 に答える 1

3

はい、アクセス許可が API に保存される方法のため、それらをすべて含める必要があります。これらは、PackageManager クラスに文字列として格納されます。たとえば、心配しているもの、android.hardware.locationを考えてみましょう。文字列がマニフェストに入力したものとまったく同じであることを確認してください。Google Play は、フィルタリング時にこれらの正確な一致を探します。Soandroid.hardware.location.gpsは実際には の子ではありませんandroid.hardware.location。整理のためにそのように表されているだけです。

于 2012-07-12T17:34:55.630 に答える