SecurityException al llamar a getLastKnownLocation
Hemos recibido informes de bloqueos en algunos dispositivos cuando un usuario abre una Actividad que llama al método getLastKnownLocation
del gestor de getLastKnownLocation
. Hemos solicitado todos los permisos necesarios en nuestro manifiesto de aplicación:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Aquí está el rastreo de la pila:
- GetLastKnownLocation () devuelve siempre la misma ubicación
- ¿Cómo obtener la ubicación exacta actual en android sin conexión a Internet?
- Servicios de ubicación de Google contra servicios de ubicación de Android
- Android, Solicitud de ubicación, establecer la duración de caducidad no funciona
- cómo obtener longitud y latitud en android
java.lang.RuntimeException: Unable to resume activity {com.projectname/com.projectname.ui.AtmFinderActivity}: java.lang.SecurityException: invalid package name: com.google.android.gms at android.app.ActivityThread.performResumeActivity(ActivityThread.java) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java) at android.app.ActivityThread.access$600(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java) at android.os.Handler.dispatchMessage(Handler.java) at android.os.Looper.loop(Looper.java) at android.app.ActivityThread.main(ActivityThread.java) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.SecurityException: invalid package name: com.google.android.gms at android.os.Parcel.readException(Parcel.java) at android.os.Parcel.readException(Parcel.java) at android.location.ILocationManager$Stub$Proxy.getLastLocation(ILocationManager.java) at android.location.LocationManager.getLastKnownLocation(LocationManager.java) at android.privacy.surrogate.PrivacyLocationManager.getLastKnownLocation(PrivacyLocationManager.java) at com.projectname.util.LocationUtils.getLastKnownLocation(SourceFile:48) at com.projectname.ui.AtmFinderFragment.initMapIfNeeded(SourceFile:401) at com.projectname.ui.AtmFinderFragment.onGooglePlayServicesAvailable(SourceFile:187) at com.projectname.maps.GoogleMapServicesUtil.getGooglePlayServicesStatus(SourceFile:40) at com.projectname.ui.AtmFinderFragment.onResume(SourceFile:149) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:917) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1080) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1062) at android.support.v4.app.FragmentManagerImpl.dispatchResume(SourceFile:1820) at android.support.v4.app.FragmentActivity.onPostResume(SourceFile:412) at com.actionbarsherlock.app.SherlockFragmentActivity.onPostResume(SourceFile:69) at android.app.Activity.performResume(Activity.java) ... 13 more
Aquí está el método relevante de LocationUtils:
public static Location getLastKnownLocation(Context context) { if (context != null) { LocationManager lm = (LocationManager) context.getSystemService( Context.LOCATION_SERVICE); // Get our last known location Location location = lm.getLastKnownLocation( LocationManager.NETWORK_PROVIDER); if (location == null) { location = lm.getLastKnownLocation( LocationManager.GPS_PROVIDER); } return location; } return null; }
No hemos podido reproducir este problema en ningún dispositivo que tengamos a mano. ¿Alguien ha encontrado este problema antes?
- Geocoder devuelve una dirección con longitud cero
- Centro de aplicaciones de Google Maps V2 Ubicación actual en pantalla
- ¿Hay ventajas de usar FusedLocationProviderApi sobre LocationManager?
- Obtenga la ubicación (coordenadas) periódicamente sin aumentar drásticamente el consumo de la batería
- API de Google Places de Google - PlaceAutocompleteFragment
- ¿Es Fused Location Provider buena opción?
- NullpointerException al llamar a getSystemService (Context.LOCATION_SERVICE) y onLocationChanged no se llama
- ¿Cuál es la mejor manera de esperar a una corrección de ubicación GPS?
Me parecen como si pudiera evitarlo mediante el uso de característica de requerir
Mira esto. Aquí he implementado métodos para encontrar últimos gps conocidos y últimas ubicaciones de red conocidas. https://github.com/thamaranga/GpsNew2/tree/master/GpsNew2
- Programación de Android: ¿Cómo dibujar texto multilínea en un rectángulo?
- Diferencia real entre AsyncTask y Thread