Mon app plante au lancement

Sauf sur 2 dispositifs Android 5.1.1

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Cela fait plusieurs mois que je développe une application et je suis parvenu à la faire fonctionner non seulement dans l'émulateur d'Android Studio (Android 5.1.1) mais aussi sur mon smartphone (Android 5.1.1) mais c'est tout !

Sur tous les autres dispositifs Blue Stack 2 (Android ???), Windroy (4.0.3) , Wiko Ozzy (Android 4.2), tablette produit blanc (Android 4.4), l'application se lance même pas et plante directement apparemment à la constitution de l'interface graphique.

Il semblerait que ça provienne de l'affichage de ma Google Maps :

mMap = getMapFragment().getMap();

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
private SupportMapFragment getMapFragment() {
        FragmentManager fm = null;
        Log.d(TAG, "sdk: " + Build.VERSION.SDK_INT);
        Log.d(TAG, "release: " + Build.VERSION.RELEASE);

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            Log.d(TAG, "using getFragmentManager");
            fm = getFragmentManager();
        } else {
            Log.d(TAG, "using getChildFragmentManager");
            fm = getChildFragmentManager();
        }

        return (SupportMapFragment) fm.findFragmentById(R.id.map);

    }

En enlevant ce code ça se lance mais je n'ai plus de map…

Pouvez-vous m'aider ?

Je vous remercie d'avance !

Tu es bien sur d'avoir importé le support Fragment (FragmentActivity ne marcherais pas) ? :)

import android.support.v4.app.Fragment;

Sinon, une autre idée, as tu une version récente de la libraire android-support-v4, j'avais eu un souci à cause de ça.

Ton layout peut-être qui va pas aussi.

Un exemple ici.

+0 -0

Suite au crash du serveur je réitère mon message : J'ai résolu le problème en tenant en compte 2 choses que j'avais ignoré jusqu'alors ; Premièrement il fallait toujours utilisé getChildFragment() et ce quelque soit la version car j'appele la carte depuis le Fragment de l'activité principale. Une fois ce changement fait il fallait tenir compte du fait d'une erreur se faisait au lancement pour les dispositifs ne possédant pas de GPS, j'ai donc mit ce qui concerne l'aquisition du GPS dans un try catch.

Merci Hugo d'avoir pris de ton temps pour m'aider ;)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte