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
Post a Comment