java.lang.IllegalArgumentException: proveedor== null
-
28-10-2019 - |
Pregunta
Tengo un problema con una clase, log cat devuelve este error cuando se ejecuta
12-05 23:19:18.299: E/AndroidRuntime(15460): Caused by: java.lang.IllegalArgumentException: provider==null
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
12-05 23:19:18.299: E/AndroidRuntime(15460): at com.rbrlnx.lugares.editarLugar.onCreate(editarLugar.java:110)
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
Y el código es
/************************************************************************************
*
* Creamos un location manager, le establecemos unos criterios minimos para encontra
*
***********************************************************************************/
LocationManager locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
Criteria criterio = new Criteria();
criterio.setAccuracy(Criteria.ACCURACY_COARSE);
String mejorProvider = locManager.getBestProvider(criterio, true);
//Obtenemos la última posición conocida
final Location loc = locManager.getLastKnownLocation(mejorProvider);
latitud = loc.getLatitude();
longitud= loc.getLongitude();
//Me centro en el mapa
yo = new GeoPoint(
(int)(latitud*1000000),
(int)(longitud*1000000));
Solo configure el mejor proveedor y obtenga la última posición conocida pero falla, ¿alguien sabe por qué?
Solución
Es porque esta línea
String mejorProvider = locManager.getBestProvider(criterio, true);
da como resultado que mejorProvider
sea nulo.¿Qué causó ese nulo?Difícil de decir.O el proveedor que solicitó no existe o tal vez no haya habilitado los permisos en su manifiesto para solicitar la ubicación del usuario.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow