9

私のAndroidプロジェクトには次のコードがあります:

locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
bestProvider = locationManager.getBestProvider(criteria, false);
Location currentLocation = locationManager.getLastKnownLocation(bestProvider);
location = currentLocation.getLatitude() + " " + currentLocation.getLongitude();
MyLocation.setText(location);

エラーが発生しprovider == null ます。どのような権限を使用する必要がありますか?

私のAndroidマニフェストファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.DuckTag"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".DuckTagActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>
</manifest>

ありがとうございました

4

3 に答える 3

38

マニフェストファイルに追加する必要があるものは次のとおりです

GPSベースの位置

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

ネットワークベースのロケーション

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

以前のポスターは間違っています。両方を使用する場合は、 http: //developer.android.com/guide/topics/location/obtaining-user-location.htmlACCESS_FINE_LOCATIONで詳しく説明されているように、必要なものだけが必要です。

注:NETWORK_PROVIDERとGPS_PROVIDERの両方を使用している場合は、両方のプロバイダーのアクセス許可が含まれているため、ACCESS_FINE_LOCATIONアクセス許可のみを要求する必要があります。(ACCESS_COARSE_LOCATIONのアクセス許可には、NETWORK_PROVIDERのアクセス許可のみが含まれます。

于 2011-08-01T14:51:14.467 に答える
18

あなたはこれを必要とします

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
于 2011-08-01T14:37:26.817 に答える
2

マニフェストファイルに追加する必要があるものは次のとおりです。

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

GPSベースの位置情報または

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

ネットワークベースのロケーションの場合

より用途の広いアプリケーションを構築する場合は、両方を要求できます。

あいさつ、
ステファン

于 2011-08-01T14:42:00.803 に答える