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 :

Comment ouvrir une application tierce via une activity?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Points : 66
    Points
    66
    Par défaut Comment ouvrir une application tierce via une activity?
    Bonjour à tous!
    Voilà, j'aimerais savoir comment lancer une application téléchargée depuis le market(exemple: Angry Birds) à l'aide d'un intent?
    Pouvez-vous me donner la procédure ou bien m'éclairer svp??

    Merci!

  2. #2
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Tu peux appeler une application via son namespace :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Intent intentScan = new Intent("com.google.zxing.client.android.SCAN");
        intentScan.addCategory(Intent.CATEGORY_DEFAULT);
        try {
          activity.startActivityForResult(intentScan, REQUEST_CODE);
        } catch (ActivityNotFoundException e) {
          showDownloadDialog(activity, stringTitle, stringMessage, stringButtonYes, stringButtonNo);
        }
    C'est pour appeler l'application Codebar.

    Cordialement,
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup pour ton aide!
    Par contre, faut-il que je le déclare dans le Manifest??
    Si oui, comment??

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 141
    Points : 134
    Points
    134
    Par défaut
    Il n'y a rien besoin de rajouter dans le manifeste. juste ces lignes de commandes. Si ça ne démarre pas c'est que le namespace est faux.
    Donne un poisson à un homme et tu le nourris pour un jour, apprend lui à pécher et tu le nourris pour toujours.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour
    j'ai le même problème mais malgrés ce post et celui-ci je n'ai pas réussi à la résoudre.

    En fait j'aimerais lancer une application depuis une autre mais ceux sont deux applis que j'ai moi-même créer.

    Pour celà j'ai tester le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     pont1.setOnClickListener(new OnClickListener(){
    			@Override
    			public void onClick(View v) {				
    				Intent intent = new Intent(Intent.ACTION_RUN);
    				intent.setComponent(new ComponentName("com.gatab", "GaTabAct"));
    				startActivity(intent);				
    			}        	
            });
    (je lance mon appli par un clic sur le bouton pont1)
    et j'ai les erreurs suivantes lorsque je clique sur mon bouton :
    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
    07-20 11:43:43.405: ERROR/AndroidRuntime(806): FATAL EXCEPTION: main
    07-20 11:43:43.405: ERROR/AndroidRuntime(806): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.gatab/GaTabAct}; have you declared this activity in your AndroidManifest.xml?
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.app.Activity.startActivityForResult(Activity.java:2817)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.app.Activity.startActivity(Activity.java:2923)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at com.gaside.Gaside$1.onClick(Gaside.java:39)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.view.View.performClick(View.java:2408)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.view.View$PerformClick.run(View.java:8816)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.os.Handler.handleCallback(Handler.java:587)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.os.Handler.dispatchMessage(Handler.java:92)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.os.Looper.loop(Looper.java:123)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at java.lang.reflect.Method.invokeNative(Native Method)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at java.lang.reflect.Method.invoke(Method.java:521)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    07-20 11:43:43.405: ERROR/AndroidRuntime(806):     at dalvik.system.NativeStart.main(Native Method)
    J'ai essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    				Intent intentScan = new Intent("com.gatab");
    			    intentScan.addCategory(Intent.CATEGORY_DEFAULT);
    			    try {
    			      GaTabAct.startActivityForResult(intentScan, REQUEST_CODE);
    			    } catch (ActivityNotFoundException e) {
    			    	Log.d("tag","activitynotfound"+e.toString());
    			    }
    Mais REQUEST_CODE est souligné en rouge (Eclipse me propose de créer la variable) et GaTabAct aussi (Eclipse me propose de créer la classe ou la constante)

    Il est possible que j'ai mal compris comment appliquer ce code mais pourriez-vous m'expliquer? Merci!

  6. #6
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Bonjour,

    Voici la méthode que j'utilise pour lancer une Activity d'une application tierce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Intent i = getPackageManager().getLaunchIntentForPackage(package_name);
    if (i != null)
    {
    	startActivity(i);
    }
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Génial c'est plus simple que ce que j'avais et ça marche =) Merci beaucoup!
    Maintenant si l'application que je souhaite lancer posséde plusieurs activité est-il possible de choisir quelle activité de mon appli j'affiche?

    L'appli que je souhaite lancer extends TabActivity :
    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
    public class GaTabAct extends TabActivity {
        /** Called when the activity is first created. */
     
        @Override
        public void onCreate(Bundle savedInstanceState) {    
        	super.onCreate(savedInstanceState);    
        	setContentView(R.layout.main);  
        	TabHost tabHost = getTabHost(); 
        	TabHost.TabSpec spec;     
        	Intent intent;  
     
        	intent = new Intent().setClass(this, Pont6.class);    
        	spec = tabHost.newTabSpec("pont1").setIndicator(" Pont 1 ").setContent(intent); 
        	tabHost.addTab(spec); 
        	intent = new Intent().setClass(this, Pont6.class);    
        	spec = tabHost.newTabSpec("pont2").setIndicator(" Pont 2 ").setContent(intent);    
        	tabHost.addTab(spec); 
        	intent = new Intent().setClass(this, Pont6.class);    
        	spec = tabHost.newTabSpec("pont3").setIndicator(" Pont 3 ").setContent(intent);    
        	tabHost.addTab(spec); 
    tabHost.setCurrentTab(2);
        }
    }
    Et dans l'appli qui va lancer celle ci-dessus j'ai créer 3 boutons selon celui que lequel je clique j'aimerais accéder à mon activité pont 1, pont 2 ou pont 3. Comment puis-je faire celà? pour l'instant je lance toujours le même pont soit celui que je choisi avec cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tabHost.setCurrentTab(2);
    Dernière modification par Invité ; 20/07/2011 à 16h32.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/01/2013, 11h22
  2. Comment récupérer la classe window d'une application wpf depuis une application ext
    Par rsiwpf dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 14/10/2008, 15h10
  3. Ouvrir un fichier local , via une application Web
    Par Panneau dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 22/05/2008, 15h20
  4. Réponses: 14
    Dernier message: 03/04/2008, 09h57
  5. ouvrir un fichier XML dans une application tierce
    Par boulator dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/06/2006, 11h44

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