Frage

Ich habe ein ernstes Problem mit meiner App. Ich benutze die Erlaubnis android.permission.ACCESS_COARSE_LOCATION in einem Rundfunkempfänger und es läuft perfekt.

Nach einer bestimmten Zeit (dies scheint zufällig zu sein) stürzt die App jedoch mit der folgenden Ausgabe ab:

SecurityException Weder Benutzer 10086 noch der aktuelle Prozess verfügt über die Berechtigung von Android.Permission.access_coarse_location

Ich habe die Erlaubnis in das Manifest verwendet <uses-permission etc /> und als Versuch, es spezifischer zu machen, wenn ich sendOrderedBroadcast Ich sendete auch die Erlaubnis aus und habe dem Broadcast -Empfänger die Erlaubnis erteilt, damit sie die Sendung erhalten kann, die dies tut.

Aber wie ich nach einer Weile sage, wird die SecurityException in die zweite Codezeile geworfen:

TelephonyManager Tel = (TelephonyManager) vb.getPsrC()
            .getSystemService(Activity.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) Tel.getCellLocation();

Dieser Absturz scheint nur auf einem Testgerät aufzutreten, das Froyo läuft.

Auf einem Gerät, das Lebkuchen ausführt, startet die App den Dienst nur mit weniger Speicher und tut nichts. Sind diese Probleme zusammenhängen oder sind die Sicherheitsausnahme, die sich gegenseitig ausschließt, um das App -Absturz auszuschließen.

War es hilfreich?

Lösung

OK, also stellt sich heraus, dass der Täter ein Speicherleck ist. Als GREF 2001 erreichte, stürzte es ab und entleerte es im Grunde genommen (mangels eines besseren Satzes), wodurch die App der Ansicht war, dass die Erlaubnis nicht erteilt wurde. Ich habe den Phonelistener in den Dienst gebracht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top