Разрешения для диспетчера местоположений Android, которые будут использоваться

У меня есть следующий код в моем проекте 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> ? <?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> 

спасибо

Ты нуждаешься в этом

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

Вот что вам нужно добавить в файл манифеста

GPS-местоположение

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

Сетевое местоположение

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

Предыдущие плакаты ошибочны, если вы хотите использовать оба, то требуется только ACCESS_FINE_LOCATION , как описано здесь: http://developer.android.com/guide/topics/location/obtaining-user-location.html

Примечание. Если вы используете как NETWORK_PROVIDER, так и GPS_PROVIDER, вам необходимо запросить только разрешение ACCESS_FINE_LOCATION, поскольку оно включает разрешения для обоих поставщиков. (Разрешение для ACCESS_COARSE_LOCATION включает разрешение только для NETWORK_PROVIDER.

Вот что вам нужно добавить в файл манифеста:

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

Для GPS-местоположения или

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

Для сетевого расположения

Вы можете потребовать и то, и другое, если хотите построить более универсальное приложение.

Приветствую,
Stéphane