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?
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? –
@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
Wir sehen dieses Problem ebenfalls und es sieht so aus, als ob es an einem benutzerdefinierten ROM liegt. –