android - Error locationManager.getLastKnownLocation -


i follow tutorial haversine formula

here function lokasi() in mainacitvity

 private void lokasi(){     location = locationmanager.getlastknownlocation(provider);     if (activitycompat.checkselfpermission(this, manifest.permission.access_fine_location) !=             packagemanager.permission_granted && activitycompat.checkselfpermission(this,             manifest.permission.access_coarse_location) != packagemanager.permission_granted) {         return;     }      // permintaan update lokasi device dalam waktu 10 detik     locationmanager.requestlocationupdates(provider, 10000, 1, this);      if(location!=null){         onlocationchanged(location);         calllistvolley(latitude, longitude);     }else{         toast.maketext(getbasecontext(), "lokasi device pengguna tidak ditemukan.\nmohon hidupkan gps.",                 toast.length_long).show();         calllistvolley(-6.894796, 110.638413);     } } 

so when run , error appear

fatal exception: main                                                                          process: com.example.invader.haversine, pid: 5913                                                                          java.lang.illegalargumentexception: invalid provider: null                                                                              @ android.location.locationmanager.checkprovider(locationmanager.java:1704)                                                                              @ android.location.locationmanager.getlastknownlocation(locationmanager.java:1194)                                                                              **at com.example.invader.haversine.mainactivity.lokasi(mainactivity.java:84)                                                                              @ com.example.invader.haversine.mainactivity.access$000(mainactivity.java:36)                                                                              @ com.example.invader.haversine.mainactivity$1.run(mainactivity.java:73)** 

so when check in logcat error in beginning of function dont know should do

firstly should check permission before request location. secondly should check if provider exist , if it's enabled this.

if(locationmanager.getallproviders().contains(locationmanager.gps_provider) && locationmanager.isproviderenabled(locationmanager.gps_provider)){    provider = locationmanager.gps_provider; } 

for example if want use gps_provider


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -