7
votes

Reprise de la demande sur Android avec l'unité

J'essaie de mettre en œuvre une pause dans l'unité à l'aide de la fonction OnapplicationPause.

Il semble fonctionner correctement lorsque je quitte mon jeu (sur Android) en appuyant sur le bouton Accueil, puis retournez via la liste des applications actives, mais lorsque j'appuie sur l'icône de jeu sur l'écran d'accueil, il redémarre le jeu au lieu de me ramener .

Y a-t-il quelque chose à ce sujet?


0 commentaires

5 Réponses :


0
votes

Il devrait reprendre la reprise sur le point que vous revenez au jeu. Si ce n'est pas le cas, votre flux de jeu peut-il redémarrer automatiquement quand il est revenu de la pause.

Dans votre jeu, essayez de vérifier l'état de l'affichage et de déboguer de là. L'échantillon de code est dans ce fil http: // réponses. Unity3d.com/questions/286939/Deectting-Quand-ApplicationDidbecomeCtive-in-unity.html


2 commentaires

Cela pourrait-il être parce que j'ai 2 scènes dans mon projet?


Nope, cela ne devrait pas être un problème. Une possibilité est que votre application ait eu une erreur lors de la reprise et c'est pourquoi il est redémarré. Vous voudrez peut-être vérifier sur le logcat comme dans la réponse @enzign.



0
votes

Dans mon expérience, ces choses étranges se produisent lorsque vous n'avez pas toutes les informations appropriées dans votre fichier AndroidManifest.xml. Spécifiquement cette ligne: xxx

Assurez-vous que "Android: Configchanges" contient tout ici. Sinon, vous devez vous donner plus d'informations spécifiques que vous auriez besoin de fournir un logcat lorsque cela se produit.


0 commentaires

7
votes

Pour moi, cela se passait quand j'avais: Android.os.deadObjectxception dans les journaux. (Ce qui signifie que l'application est déjà décédée).

Vérifiez si vous avez quelque chose comme celui-ci dans vos journaux: xxx

... et si oui, regardez encore plus loin dans vos journaux pour voir pourquoi votre application est en train de mourir. Pour que je garde l'application de mourir, je devais déplacer les filtres à l'intention: xxx

de UnityPlayerProxyActivité à UnityPlayerNativeactivité


2 commentaires

Déplacer cet intent-filtre travaillé pour moi aussi! Je ne sais pas pourquoi, mais c'est en plus le point!


Méfiez-vous - cela a travaillé pour moi, mais déplacer le filtre à l'intention avait des effets négatifs. Les utilisateurs existants de mon jeu ont perdu l'icône s'ils l'avaient épinglé à leur page d'accueil, et parfois (je ne suis pas sûr des circonstances), l'icône disparaîtrait tout à fait du lanceur.



0
votes

Avez-vous vérifier le mode de lancement sur Android Manifest et apporter la valeur comme cet Android: LaunleMode = "SingleTask"


0 commentaires

0
votes

Avez-vous essayé de manipuler le cycle de vie de votre application lorsque vous l'exportez en tant que projet HORDLE Android?

Vous pouvez le faire (à l'unité 2018.4.5, d'autres versions peuvent varier) en cochant Exporter Project em> dans votre Fichier - Paramètres de construction em> et en cliquant Exporter em> Exporter em>. . Vous pouvez ouvrir le projet de gradle résultant par exemple dans Android Studio et trouver un UnityPlayeractivity Code> avec la situation suivante:

    // Pause 
    @Override protected void onPause()
    {
        super.onPause();
        mUnityPlayer.pause();
    }

    // Resume Unity
    @Override protected void onResume()
    {
        super.onResume();
        mUnityPlayer.resume();
    }

    @Override protected void onStart()
    {
        super.onStart();
        mUnityPlayer.start();
    }

    @Override protected void onStop()
    {
        super.onStop();
        mUnityPlayer.stop();
    }

    // Low Memory Unity
    @Override public void onLowMemory()
    {
        super.onLowMemory();
        mUnityPlayer.lowMemory();
    }

    // Trim Memory Unity
    @Override public void onTrimMemory(int level)
    {
        super.onTrimMemory(level);
        if (level == TRIM_MEMORY_RUNNING_CRITICAL)
        {
            mUnityPlayer.lowMemory();
        }
    }


0 commentaires