Aller au contenu

Mauvaise activité lancée


steph29

Recommended Posts

Bonjour tout le monde,

Je développe actuellement une application pour afficher des menus. Pour ce faire j'ai 2 activités :

-SplashScreen

-RakDroid

Lorsque je clique sur l'icone c'est l'activité RakDroid qui est lancée, contrairement à ce que je souhaiterais

Si quelqu'un pouvais m'aider, j'y ai déjà passer pas mal de temps.

Merci d'avance!

Voici mon manifest

<?xml version="1.0" encoding="utf-8"?>
     package="android.stephane.castrec.rakdroid"
     android:versionCode="1"
     android:versionName="0.5">


                 android:label="@string/app_name"
                 android:screenOrientation="portrait">






                   android:label="@string/app_name"> 












Lien vers le commentaire
Partager sur d’autres sites

Qaund je supprime ces lignes, et que je clique sur l'icone pour lancer l'application, Android affiche : "L'application n'est pas installée sur le téléphone".

Lorsque je lance l'appli en debug, le lancement de l'appli se fait bien et affiche bien le ScreenSplash. Ensuite je quitte et je reviens et c'est là qu'il y a l'erreur. C'est incompréhensible.

Lien vers le commentaire
Partager sur d’autres sites

Merci de vous intéresser à mon problème :)

public class SplashScreen extends Activity {

   protected int _splashTime = 5000; // time to display the splash screen in ms
   private Handler _Handler = new Handler() {
       public void handleMessage(Message msg) {
           Log.d("RakDroid", "SplashScreen handleMessage");
           createAlert("Erreur", "Problème sur le serveur. Veuillez ré-essayer ultérieurement!");
           }
   };

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       Log.d("RakDroid", "SplashScreen starting");

       if(!isConnected())
       {    //no data cnx
           createAlert("Erreur", "Pas de connexion internet trouvée");
       }  
       // thread for displaying the SplashScreen
       Thread splashTread = new Thread() {
           @Override
           public void run() {
               try {                    
                   //sleep(Time);
                   RequestMenu request = new RequestMenu();
                   if(request.makeRequest()!=-1)
                   {
                       //List lListMenus = request.getMenus();
                       Intent rakDroidIntent = new Intent(SplashScreen.this,RakDroid.class);
                       startActivity(new Intent(rakDroidIntent));
                       finish();
                       stop();        
                   }
                   else
                   {
                       Log.d("RakDroid", "SplashScreen makeRequest Error");
                       //Looper.prepare();
                       _Handler.sendEmptyMessage(0); 
                       //finish();
                       //stop();    
                   }
                   Log.d("RakDroid", "SplashScreen request finish");

               } catch(Exception e) {
                   Log.e("RakDroid", "SplashScreen thread error"+e.getMessage());
                   Looper.prepare();
                   createAlert("Erreur", "Problème sur le serveur. Veuillez ré-essayer ultérieurement!");
                   finish();
                   stop();    
               }
           }
       };
       splashTread.start();
   }


   private void createAlert(String pTitle, String pMessage)
   {
       try
       {
           AlertDialog lAlert = new AlertDialog.Builder(this).create();
           lAlert.setTitle("Erreur");
           lAlert.setMessage(pMessage);
           lAlert.setButton("Quitter", new OnClickListener() {                    
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   finish();
                   return;
               }
           });
           Log.d("RakDroid", "Device not connected to internet");
           lAlert.show();
           return ;
       }
       catch(Exception e)
       {
           Log.e("RakDroid", "createAlert error "+e.getMessage());
       }
   }

   private Boolean isConnected()
   {
       Log.d("RakDroid", "isConnected");
       ConnectivityManager connManager = (ConnectivityManager)getSystemService(RakDroid.CONNECTIVITY_SERVICE);
       if(connManager.getNetworkInfo(0).getState() == State.CONNECTED)
           return true;
       else
           return false;
   }

}

Lien vers le commentaire
Partager sur d’autres sites

j'ai le setContentView, puis je viens d'ajouter une alert a chaque fois que l'on rentre dans le SplashScreen mais ça ne s'affiche pas lorsque je clicque sur l'icone.

C'est étrange, parce que lorsque je debug mon application,, celle ci ce lance seule et correctement!

Le lien du launcher à vraiment l'air d'être vers le RakDroid et non le SplashScreen. (cf : logcat)

Je suis preneur de toutes idées! Je nage depuis hier midi sur ce problème!

Lien vers le commentaire
Partager sur d’autres sites

Je me demande si je n'ai pas un effet mémoire qui c'est mis en place.

En effet, lorsque j'utilise appManager ou la liste des applis pour relancer l'appli je passe bien par le splashscreen contrairement au raccourci sur le homescreen.

Alors là, tout deviens confus!

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Bizarre ton histoire. Cela devrait fonctionner, si ton manifest ressemble bien à cela :

<?xml version="1.0" encoding="utf-8"?>
     package="android.stephane.castrec.rakdroid"
     android:versionCode="1"
     android:versionName="0.5">


                 android:screenOrientation="portrait">















As-tu essayé de désinstaller ton application de l'émulateur (Menu > Paramètres Applications > Gérer les applications), puis de la réinstaller.

Lien vers le commentaire
Partager sur d’autres sites

Je m'excuse pour le temps que ça vous a pris, mais je pense avoir trouvé la solution.

En effet, je pense que mon raccourci sur le home screen était corrompu et pointait sur l'autre activity.

Donc merci à tous, et j'espère que ce sujet pourra un jour aider quelqu'un.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...