col*_*ore 1 gps android locationmanager
我有一个类的问题,log cat在运行时返回此错误
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)
Run Code Online (Sandbox Code Playgroud)
代码是
/************************************************************************************
*
* 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));
Run Code Online (Sandbox Code Playgroud)
只设置最好的提供商,并获得最后知道的位置,但它崩溃,谁知道为什么?
这是因为这条线
String mejorProvider = locManager.getBestProvider(criterio, true);
Run Code Online (Sandbox Code Playgroud)
结果mejorProvider
为空.是什么导致了这个?很难说.您要求的提供程序不存在,或者您可能未在清单中启用权限以请求用户的位置.
归档时间: |
|
查看次数: |
4917 次 |
最近记录: |