ACCESS_FINE_LOCATION autorisation

Je suis petite honte. Mais je ne trouve pas quel est le problème.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.szymon.gpslab1"
android:versionCode="15"
android:versionName="4.0.3">

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>

C'est mon manifeste.
et voici mon code:

public class MainActivity extends AppCompatActivity {
LocationManager locationManager;
LocationListener locationListener;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationListener = new MyLocationListener();

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
private class MyLocationListener implements LocationListener{

    @Override
    public void onLocationChanged(Location location) {
        System.out.println("ZMIENIAMY SIĘ, zmieniamy siebie");
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }
}
}

Im en utilisant le plus récent android studio (ide) avec embedded (?) l'émulateur. Téléphone est à court d'options.
Et voici ce que j'ai:

FATAL EXCEPTION: main  
Process: com.example.szymon.gpslab1, PID: 3274  
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.szymon.gpslab1/com.example.szymon.gpslab1.MainActivity}: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.  

Caused by: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.  

Je trouve que c'est stupide erreur, mais je n'ai jamais comme développé pour android, im la javaman, et j'ai atteint chaque tutoriel sur le net, je ne trouve pas de réponse.

Ah et y, j'ai emplacement sur dans mon émulateur.

Quelle version d'Android sont vous de test, et qu'est-ce que votre targetSdkVersion?
Je trouve que celui par défaut. Si minime 15, max (cible?) 23? Mais pas sûr. Essayé de le changer dans androidmanifest à l'aide de <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/> n'a pas aider encore. En regardant AndroidEnthausiast réponse maintenant.
commonsware.com/blog/2015/08/31/...

OriginalL'auteur Sarseth | 2015-10-04