title: error on java.lang.IllegalArgumentException: provider==null
body: <p>I published my application to android market. I got error in my home page. Somebody wrote crash error. But  this application is perfectly working in my real device. I added permission also. 
  My error:</p>
  
  <pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo{com.karthi.locationspeecher/com.android.locationspeecher.LocationSpeecher}: java.lang.IllegalArgumentException: provider==null
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:130)
  at android.app.ActivityThread.main(ActivityThread.java:3687)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
  at dalvik.system.NativeStart.main(Native Method)
  Caused by: java.lang.IllegalArgumentException: provider==null
  at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
  at com.android.locationspeecher.LocationSpeecher.onCreate(LocationSpeecher.java:84)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
  ... 11 more
  </code></pre>
  
  <p>LocationManager:</p>
  
  <pre><code> LocationManager locationManager; 
              String context = Context.LOCATION_SERVICE; 
              locationManager = (LocationManager)getSystemService(context); 
  
              Criteria crta = new Criteria(); 
              crta.setAccuracy(Criteria.ACCURACY_FINE); 
              crta.setAltitudeRequired(false); 
              crta.setBearingRequired(false); 
              crta.setCostAllowed(true); 
              crta.setPowerRequirement(Criteria.POWER_LOW); 
              String provider = locationManager.getBestProvider(crta, true); 
  
           // String provider = LocationManager.GPS_PROVIDER; 
              Location location = locationManager.getLastKnownLocation(provider); 
              updateWithNewLocation(location); 
  
              locationManager.requestLocationUpdates(provider, 2000, 10, locationListener); 
              } 
  </code></pre>