I have a error when I'm trying to get last known location in Android 6.0

```
Location lastLocation =locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

```

**Error:**

> 
> java.lang.SecurityException: "network" location provider requires
>  ACCESS\_COARSE\_LOCATION or ACCESS\_FINE\_LOCATION permission.
> 
> 
> 

**My manifest:**

```
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>

```

**check permissions:**

```
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

        if (ActivityCompat.checkSelfPermission(context,
                Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
                && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {
            try {
                ActivityCompat.requestPermissions(getActivity(), new String[] {
                                Manifest.permission.ACCESS_FINE_LOCATION,
                                Manifest.permission.ACCESS_COARSE_LOCATION },
                        1);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        PointDTO point = new PointDTO();

        try {
            Location lastLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
//            addresses = geocoder.getFromLocation(lat, lon, 1);
//            //        String cityName = addresses.get(0).getAddressLine(0);
//            //        String countryName = addresses.get(0).getAddressLine(2);
//            address= addresses.get(0).getAddressLine(0);
            point.setLat(lastLocation.getLatitude());
            point.setLon(lastLocation.getLongitude());

        } catch (NullPointerException | SecurityException e) {
            e.printStackTrace();
        }

        return point;

```

What I did wrong? It works in Android Api 23-

**UPD:**

*NPE:*

```
 ActivityCompat.requestPermissions(getActivity(), new String[] {
                            Manifest.permission.ACCESS_FINE_LOCATION,
                            Manifest.permission.ACCESS_COARSE_LOCATION },
                    1);

```

*SecurityException*

```
    LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

```