Google Map schwarzer Bildschirm/Mapview

A

androidBerry

Neues Mitglied
1
Hallo Leute:)

ich habe ein Problem mit der Anzeige der Google Map V2. Auf dem Tablet wird die Google Map ganz normal angezeigt, installiere ich jedoch die App auf mein Smartphone (egal welches S2, S3 oder S4 )wird anstelle der Google Map einfach nur eine schwarze Mapview mit den Zoom-Elementen angezeigt.

Kann mir hier jemand weiterhelfen? Ich wäre sehr dankbar.


Lg
 
Jo, das liegt wahrscheinlich an den OpenGL Einstellungen. Einmal das Manifest bitte... :) (die Id kannst du ja vorher herausnehmen)
 
Anmerkung: Die ID bringt einem ohne passendes Zertifikat zum Signieren der App doch eh nichts oder? :)

Welche PlayServices verlangst du seitens deiner Anwendung? Hast den Code eingefügt, der bei einer fehlgeschlagenen Überprüfung die PlayServices-Seite in GooglePlay öffnet?
 
Hallo:)

Hier mein Manifest:



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="....."
android:versionCode="1"
android:versionName="1.0" >

<supports-screens
android:anyDensity="false"
android:largeScreens="false"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />

<compatible-screens>
<screen
android:screenDensity="mdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="hdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="xhdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="mdpi"
android:screenSize="small" />
<screen
android:screenDensity="hdpi"
android:screenSize="small" />
<screen
android:screenDensity="xhdpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="hdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="normal" />
</compatible-screens>

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="20" />

<permission
android:name=".....permission.MAPS_RECEIVE"
android:protectionLevel="signature" />

<uses-permission android:name="......MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service android:name=".GcmIntentService" />

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

<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="....." />

<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="nosensor"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

Der ursprüngliche Beitrag von 09:32 Uhr wurde um 09:38 Uhr ergänzt:

Und noch was, was mir aufgefallen ist...ich weiss zwar nicht ob das relevant ist aber trotzdem. Die App läuft auf Tablets in horizontaler Bildschirmausrichtung und auf Smartphones in vertikaler Ausrichtung. Und die GoogleMap läuft auf meinem Smartphone auch, solange ich die Ausrichtung des Bildschirms auf horizontal beschränke.

Und vielen Dank für eure Hilfe:)
 
Dann tippe ich, dass mit deinen Lebenszyklusmethoden etwas falsch ist. Setzt du bspw. einen Marker auf die Karte? Wo (in OnCreate, OnResume, ...?)?
 
Ja, genau in der onCreate-Methode....und wenn es daran liegt wieso funktioniert es dann auf dem Tablet und auf dem Smartphone nicht?
 
Woher kommt die Permission "MAPS_RECIEVE"?
https://developers.google.com/maps/documentation/android/start?hl=de#specify_permissions
Finde ich hier nicht ...

Woher kommt "uses-library"? Finde ich wieder nicht in der offiziellen Doku?

Wurde da wieder mal ein altes Buch/Tutorial verwendet?

Wo ist:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
(siehe https://developers.google.com/maps/...e_play_services_version_to_your_apps_manifest)


Zeig bitte mal den Java-Code :)
 
Ja das kann sein das die Tutorials veraltet waren:razz: aber ich habe auch schon das hier auspobiert:

<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

Nur hier kriege ich immer eine Fehlermeldung mit "No resource found" und da meine alte Variante funktioniert hat, habe ich mir um ehrlich zu sein auch keine weiteren Gedanken mehr gemacht:unsure:

Der ursprüngliche Beitrag von 10:36 Uhr wurde um 10:38 Uhr ergänzt:

[/COLOR]ich werde mir jetzt mal die offizielle Doku ansehen:)
 
Zuletzt bearbeitet:
ich werde mir jetzt mal die offizielle Doku ansehen

und dann stelle deine Frage nochmal bzw. denk nochmal drüber nach :D

lg. Dagobert
 
Sorry, aber ich glaube ich stehe grad auf dem Schlauch.

Ich hab ja eigentlich alles gemacht was in der Doku steht.

1. Ich habe die Google Play Services aus dem SDK runtergeladen
2. ich habe die Google Play Services als Android Projekt in mein Workspace importiert und es dann meinem Projekt als lib hinzugefügt -> Properties->Android->Add
3. Ich habe meine Applikation auch zertifizieren lassen und habe natürlich auch mein API key generieren lassen.

4. In meinem Manifest habe ich eigentlich alle notwendigen Berechtigungen hinzugefügt und natürlich auch den dazugehörigen API Key

Und ich benutze google-play-services for Froyo, da ich ursprünglich API 8 auch unterstützen wollte und deshalb habe ich auch diesen com.google.android.gms.version resource identifier nicht.

Getting Started with Google Play Services (Froyo): https://components.xamarin.com/gettingstarted/googleplayservicesfroyo
 
Zuletzt bearbeitet:
und jetzt? :D
 
*hust* was ist das jetzt für ein eingeworfen es tutorial von dir? Programmierst du mit xamarin oder nativ? Warum verwendet du ein xamarintutorial wenn du doch rein nativ bist???
 
Achso ja sorry, vielleicht hätte ich mich besser ausdrücken sollen, also wegen dem Tutorial ging es mir eigentlich nur um die Permission und weil ich eben da zum ersten mal gelesen hatte das google play services api 8 nicht mehr unterstützen.
Aber ist doch egal ob man mit einem Werkzeug von Xamarian mit C# Android-Applikationen programmiert, hybrid oder native, es müsssen doch trotzdem immer die selben Permissions eingebunden werden oder?


Aber hier ein Android-Tutorial mit Java programmiert: Google Maps Android API v2 - Tutorial, und an diesem Tutorial habe ich mich auch orientiert.

Naja, egal auf jeden Fall weiss ich jetzt, dass diese Permission:

<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>

angeblich nach dem Update auf Google Play Services 3.1.59 sowieso unnötig ist, ich könnte sie also genau so gut weglassen.

Aber deswegen funktioniert meine Google Map auf dem Smartphone trotzdem nicht (Unter der Voraussetzung API 8 unterstützen zu wollen)und auf dem Tablet schon.
 
Hallo an alle, die eventuell irgendwann mal das selbe Problem haben.

Ich habe jetzt endlich raus gefunden, warum die Google Map nur auf dem Tablet angezeigt wurde aber nicht auf den Smartphones.

Manifest:

<supports-screens
android:anyDensity="false"
android:largeScreens="false"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />

<compatible-screens>
<screen
android:screenDensity="mdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="hdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="xhdpi"
android:screenSize="xlarge" />
<screen
android:screenDensity="mdpi"
android:screenSize="small" />
<screen
android:screenDensity="hdpi"
android:screenSize="small" />
<screen
android:screenDensity="xhdpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="hdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="normal" />
</compatible-screens>

Das Problem lag an dem Attribut android:anyDensity="false", das habe ich auf true gesetzt und schon wurde meine Map auf allen Geräten angezeigt.

android:anyDensity="true"

Ich weiss leider nicht, warum es daran lag weil mein S4 eine Hohe Pixeldichte hat und ich alle ScreenDensities bis auf ldpi auf true gesetzt hatte.

LG
 

Ähnliche Themen

Gemini-Media
Antworten
1
Aufrufe
1.864
swa00
swa00
R
Antworten
3
Aufrufe
1.651
Ritartet
R
P
Antworten
5
Aufrufe
3.894
MisterRoboto
MisterRoboto
Zurück
Oben Unten