2013-04-23 15 views
9

Wir haben Berichte über Abstürze auf einigen Geräten erhalten, wenn ein Benutzer eine Aktivität öffnet, die die getLastKnownLocation Methode des Standortmanagers aufruft. Wir haben alle die erforderlichen Berechtigungen in unserem Anwendungsmanifest angefordert:SecurityException beim Aufruf von getLastKnownLocation

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

Hier ist der Stack-Trace:

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 

Hier ist das relevante Verfahren aus 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; 
} 

Wir Dieses Problem konnte auf keinem der vorhandenen Geräte reproduziert werden. Ist jemand schon einmal auf dieses Problem gestoßen?

+3

Das ist nur Spekulation, aber das riecht wie eine benutzerdefinierte ROM mit einem Problem mit Google Play Services für mich. Ich würde weiter auf die Geräte eingehen, mit denen Sie Probleme haben, welche sind sie, welche Android-Versionen laufen sie, und haben sie eine Art von benutzerdefinierten ROM oder andere Anpassungen, die Google Play stören? –

+0

@CharlieCollins vereinbart. Die meisten Geräte, die wir mit diesem Problem gesehen haben, sind Galaxy Nexus mit Android 4.2.2. Ich habe noch keine Informationen über den spezifischen Build, den sie ausführen. – twaddington

+1

Wir sehen dieses Problem ebenfalls und es sieht so aus, als ob es an einem benutzerdefinierten ROM liegt. –

Antwort

Verwandte Themen