title: Location manager is shown null
body: <p>I am trying to track the gps location to be used in my application,</p>
  
  <p>Here is my code,</p>
  
  <pre><code>public class GetGpsCoordinates extends Service implements LocationListener {
  
  boolean isGPSEnabled ;
  
  boolean isNetworkEnabled ;
  boolean canGetLocation ;
  Location location;
  double latitude;
  double longitude;
  
  // The minimum distance to change Updates in meters
  public static final float MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10
                                                                      // meters
  
  // The minimum time between updates in milliseconds
  public static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
  
  private  final Context Context = GetGpsCoordinates.this;
  public final android.content.Context mContext = GetGpsCoordinates.this;
  LocationManager locationManager;
  
  public Location getLocation() {
      try {
          int chkGooglePlayServices = GooglePlayServicesUtil
                  .isGooglePlayServicesAvailable(Context);
          if (chkGooglePlayServices != ConnectionResult.SUCCESS) {
              GooglePlayServicesUtil.getErrorDialog(chkGooglePlayServices,
                      (Activity) mContext, 1122).show();
          } else {
  
              locationManager = (LocationManager) getSystemService(mContext.LOCATION_SERVICE);
              Criteria criteria = new Criteria();
              criteria.setAccuracy(Criteria.ACCURACY_FINE);
  
              // getting GPS status
              isGPSEnabled = locationManager
                      .isProviderEnabled(LocationManager.GPS_PROVIDER);
  
              // getting network status
              isNetworkEnabled = locationManager
                      .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
  
              if (!isGPSEnabled &amp;&amp; !isNetworkEnabled) {
                  // no network provider is enabled
              } else {
                  this.canGetLocation = true;
                  // First get location from Network Provider
                  if (isNetworkEnabled) {
                      locationManager.requestLocationUpdates(
                              LocationManager.NETWORK_PROVIDER,
                              MIN_TIME_BW_UPDATES,
                              MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                      Log.d("Network", "Network");
                      if (locationManager != null) {
                          location = locationManager
                                  .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                          if (location != null) {
                              latitude = location.getLatitude();
                              longitude = location.getLongitude();
                          }
                      }
                  }
                  // if GPS Enabled get lat/long using GPS Services
                  if (isGPSEnabled) {
                      if (location == null) {
                          locationManager.requestLocationUpdates(
                                  LocationManager.GPS_PROVIDER,
                                  MIN_TIME_BW_UPDATES,
                                  MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                          Log.d("GPS Enabled", "GPS Enabled");
                          if (locationManager != null) {
                              location = locationManager
                                      .getLastKnownLocation(LocationManager.GPS_PROVIDER);
                              if (location != null) {
                                  latitude = location.getLatitude();
                                  longitude = location.getLongitude();
  
                              }
                          }
                      }
                  }
              }
  
          }
      } catch (Exception e) {
          e.printStackTrace();
      }
  
      return location;
  }
  </code></pre>
  
  <p>I dont know what I am missing, the variable "locationManager" is shown as null.</p>
  
  <p>This is my manifest file,</p>
  
  <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.bu"
  android:versionCode="2"
  android:versionName="2.0" &gt;
  
  &lt;uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="17" /&gt;
  
  &lt;uses-feature
      android:glEsVersion="0x00020000"
      android:required="true" /&gt;
  
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.CAMERA" /&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  &lt;uses-feature android:name="android.hardware.camera.autofocus" /&gt;
  &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  &lt;uses-permission android:name="com.bu.permission.MAPS_RECEIVE" /&gt;
  &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt;
  
  
  &lt;application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" &gt;
      &lt;activity
          android:name=".MainActivity"
          android:theme="@style/NoTitleBar"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
  
      &lt;activity
          android:name=".HomeScreen"
          android:label="@string/app_name" 
           android:theme="@android:style/Theme.Light"&gt;
      &lt;/activity&gt;
  
      &lt;activity
          android:name=".PropertySearchTypes.CameraSearch"
          android:label="@string/camera_search" 
          android:screenOrientation="unspecified"/&gt;
      &lt;activity
          android:name=".PropertySearchTypes.MapSearch"
          android:label="@string/map_search" /&gt;
      &lt;service
          android:name=".PropertySearchTypes.PropertyRequestService" &gt;   
  
      &lt;/service&gt;
       &lt;meta-data
          android:name="com.google.android.maps.v2.API_KEY"
          android:value="API_KEY" /&gt;
  &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p>this is my logcat,</p>
  
  <pre><code>06-04 19:21:08.960: D/BatteryService(1499): update start
  06-04 19:21:10.101: D/dalvikvm(16760): GC_EXPLICIT freed 17K, 49% free 2778K/5379K,  external 688K/1036K, paused 54ms
  06-04 19:21:10.210: E/StatusBarPolicy(1552): ecio: 255
  06-04 19:21:10.210: E/StatusBarPolicy(1552): iconLevel: 4
  06-04 19:21:12.109: D/dalvikvm(18597):   JDWP invocation returning with exceptObj=0x40614540 (Ljava/lang/NullPointerException;)
  06-04 19:21:12.906: D/dalvikvm(18597):   JDWP invocation returning with exceptObj=0x406146a0 (Ljava/lang/NullPointerException;)
  06-04 19:21:15.265: D/dalvikvm(15818): GC_EXPLICIT freed 481K, 49% free 3529K/6791K, external 688K/1036K, paused 53ms
  06-04 19:21:18.992: D/BatteryService(1499): update start
  06-04 19:21:20.265: D/dalvikvm(14873): GC_EXPLICIT freed 199K, 47% free 3590K/6727K, external 688K/1036K, paused 50ms
  </code></pre>
  
  <p>calling in another activity,</p>
  
  <pre><code> protected void onCreate(Bundle savedInstanceState) {
  
      super.onCreate(savedInstanceState);
      setContentView(R.layout.map_fragment);
      progressDialog = new ProgressDialog(MapSearch.this);
  
              /* getting latitude and longitude*/
      GetGpsCoordinates getgpslatlng = new GetGpsCoordinates();
      getgpslatlng.getLocation();
  
      Latitude = getgpslatlng.getLatitude();
      Longitude = getgpslatlng.getLongitude();
      SupportMapFragment sfm = (SupportMapFragment) getSupportFragmentManager()
              .findFragmentById(R.id.map);
      map = sfm.getMap();
      map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
      map.setMyLocationEnabled(true);
  }
  </code></pre>
  
  <p>I have added all th epermissions. I enabled the gps in my device. Even though an exception is raised saying that "locationManager" null and also "chkGooglePlayServices" is null. I ma having Google play services installed in my device. </p>
  
  <p>What's wrong in my code? Please correct me..
   Thanks in advance!!</p>