2012-12-11 21 views
9

Ich versuche, einen Machbarkeitstest auf Google-Karte in Android zu tun.Verwenden Sie Google Maps auf allen Geräten. (ohne Google Play)

Google Maps Android V1

Wenn MapView verwenden, haben wir

<uses-library android:name="com.google.android.maps" /> 

in androidmenifest.xml hinzuzufügen. Aber soweit ich weiß, gibt es einige Geräte, die diese Bibliothek nicht enthalten. So konnte die Anwendung nicht einmal in diesen Geräten installiert werden.

Google Maps Android V2

In V2 wird die Karte durch die sdk von extra/google_play_services unterstützt. Dieser Ansatz ist besser, aber immer noch auf den Google Play-Service angewiesen. Wenn ich den Dienst deinstalliere, erscheint eine Warnmeldung wie im folgenden Screenshot.

google map demo

Und wenn ich auf die Schaltfläche geklickt wird, es abgestürzt und eine Ausnahme geworfen.

android.content.ActivityNotFoundException: Keine Aktivität Intent {act = android.intent.action.VIEW dat = http://play.google.com/store/apps/details?id=com.google.android.gms flg = 0x80000 PKG = com.android.vending}

zu handhaben

Es ist, weil es Google Play nicht finden kann, das auch vor dem Test deinstalliert wird, um den Intent zu behandeln. Die Absicht könnte jedoch von einem Browser bearbeitet werden, ohne pkg = com.android.vending anzugeben.

Also .. hier ist meine Frage.

  1. Ist es möglich, die oben genannte Absicht durch meine eigene App abzufangen und zu behandeln? Also ich kann es an Brower übergeben.

  2. Wenn es nicht möglich ist, was ist die beste Lösung, um Android App mit Karte zu entwickeln. Ich weiß, es gibt viele Android-Geräte, die keine Google Map oder Google Play installiert haben, Crash im Einsatz kann nicht akzeptabel sein.

Antwort

5

Eigentlich bezieht sich das Problem auf Lebkuchen und älteren Handys die falsche URI zu verwenden, wenn sie die Play Store installiert nicht bereits haben. Diese ist keine sichere Annahme. Die meisten Out-of-the-Box-Gingerbread-Handys werden nicht mitgeliefert, und Google-Updates installieren sie nicht unbedingt. Dies ist ein bekannter Fehler in den Google Play-Diensten V2. Siehe die Diskussion on Google Code

Ein Hack um es zu umgehen wird diskutiert, aber Sie müssten den Knopf drücken, um es zu benutzen.

+0

danke für deine antwort, große hilfe. – faylon

1

Sie müssen google map api verwenden, um google map auszuführen. Erstellen Sie AVD mit Google API und führen Sie Ihr Projekt in diesem AVD (Emulator).

enter image description here

+1

Ich weiß, dass ...Aber es gibt einige Geräte, die von kleinen Herstellern produziert werden, die die Google Map nicht unterstützen. Apps, die die Kartenbibliothek verwenden, konnten in solchen Geräten nicht installiert werden. – faylon

Verwandte Themen