IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Lancer une application tierce


Sujet :

Android

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Lancer une application tierce
    Bonjour,
    j'ai crée deux applications MainActivity et LanceAppli, le dexiéme à pour role de lancer la premiére application en utilisant le code suivant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    package com.copag.lanceappli;
     
    import android.app.Activity;
    import android.content.ActivityNotFoundException;
    import android.content.ComponentName;
    import android.content.Intent;
     
     
    public class LanceAppli extends Activity {
     
     
        public void LanceAppli() {
     
               try
                {
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                    intent.addCategory("android.intent.category.LAUNCHER");
                    intent.setComponent(new ComponentName("test.test.test","test.test.test.MainActivity"));
                    startActivity(intent);
                }
                catch( ActivityNotFoundException e)
                {
                    e.printStackTrace();
                }
                catch( Exception e)
                {
                    e.printStackTrace();
                }
     public  void main (String [] args) 
       {
           LanceAppli();
       }	
        }
    j'ai les 2 applications installer sur ma tablet, quand j'exécute LanceAppli le résultat attendu et le lancement de l'application MainActivity, le problème c'est que rien de tout ca n'arrive pas d'affichage d'erreur ni rien, juste l'interface de LanceAppli qui s'affiche et c'est tout.
    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    Tout d'abord

    1) C'est super étrange la structure de ton activité.

    Si je suis le LifeCycle d'une Activity, je pense que ton main ne sera jamais exécuté. Et même s'il était exécuté, il instancierait la même activité ?!

    Bref je ne comprends pas trop ta logique. Je pense que raisonner comme si on était face à une classe java "classique" est complètement erroné.



    2) Je ne sais à priori pas comment faire ce que tu demandes, mais déjà ça me semble tordu Est-ce que tu as vérifié que dans le manifeste de ton application tu autorisais d'autres applications à la lancer ? Je pense que tu dois plutot créer une intent "custom" plutot que d'utiliser l'intent Launcher (à vérifier).

    3) Aussi tordu que soit ta demande, la solution m'intéresse :-)


    Lionel

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    bah je sais pas trop avant j'avais pas de main au sein de la classe, mais ca marché pas je me suis dit peut être la méthode LanceAppli n'été pas appelé... mais dans les 2 cas ca ne marche pas

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Avant d'aller plus loin, il serait bien pour toi de lire divers (au moins un) tutoriel de base sur la programmation Android. Ce qu'est une activité, à quoi ça sert, comment celle-ci est lancé parle système, à quoi sert le manifest ...

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    merci c'est rolsolu, il falait que j'éxécute mon code au sein de la méthode onCreate:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package com.copag.lanceappli;
     
    import android.app.Activity;
    import android.content.ActivityNotFoundException;
    import android.content.ComponentName;
    import android.content.Intent;
    import android.os.Bundle;
     
     
     
    public class LanceAppli extends Activity {
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try
                {
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                    intent.addCategory("android.intent.category.LAUNCHER");
                    intent.setComponent(new ComponentName("test.test.test","test.test.test.MainActivity"));
                    startActivity(intent);
                }
                catch( ActivityNotFoundException e)
                {
                    e.printStackTrace();
                }
                catch( Exception e)
                {
                    e.printStackTrace();
                }
     
    }
    }

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Donc... tu as deux applications....

    L'une contenant "LanceAppli" et une contenant "MainActivity"
    Bon je ne comprends pas le but ultime de ce truc (donc que je considère assez inutile du coup), mais il doit y avoir une bonne raison...

    Toujours est-il que dans l'état actuel du code, quand tu lances l'application "LanceAppli", à la fin, il y a 2 applications lancées / actives (et 2 activité) vu que la première n'est jamais fermée.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    oui car le but c'est d'entré sur la 2éme application faire ce qu'on doit faire et revenir à la première

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 25/05/2006, 11h42
  2. [application tache de fond] lancer une application
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 5
    Dernier message: 25/03/2005, 11h13
  3. [GNU Pascal] Lancer une application en plein écran
    Par joleboss dans le forum Autres IDE
    Réponses: 13
    Dernier message: 20/05/2004, 12h57
  4. lancer une application au démarrage de WinXP
    Par Sph@x dans le forum Windows
    Réponses: 6
    Dernier message: 07/04/2004, 18h05
  5. Réponses: 2
    Dernier message: 05/12/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo