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 :

Plusieurs starActivity dans mon code


Sujet :

Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut Plusieurs starActivity dans mon code
    Bonjour à tous,

    J'ai 2 portions de code qui fonctionnent très bien, le premier qui permet de télécharger un apk sur sdcard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	        	Uri myUrl = Uri.parse("http://.../uneappli.apk");	        	
    	        	Intent update1 = new Intent(Intent.ACTION_VIEW).setData(myUrl);
    	        	startActivity( update1 );
    et le 2ème qui permet de lancer l'installation de cette application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	        	PackageName = "package:com.android.monpackage".toString(); //"package:com.Test1".toString();
    	        	Uri packageURI = Uri.parse(PackageName.toString());
    	            Intent intent = new Intent(android.content.Intent.ACTION_VIEW, packageURI);
     
    	                  intent.setDataAndType
    	             	(Uri.fromFile(new File(Environment.getExternalStorageDirectory().toString() + "/download/"  + ApkName.toString())), 
    	             	"application/vnd.android.package-archive");
     
    	            startActivity(intent);
    Mais voila, lorsque le premier startActivity est exécuté, le 2eme ne l'ai pas !!
    Comment puis enchainer 2 startActivity ?
    Merci pour votre coup de main et vos conseils
    rg

  2. #2
    Membre actif Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Points : 212
    Points
    212
    Par défaut
    Il te faut détecter que le téléchargement soit terminé avant de lancer l'installation. En utilisant startActivityForResult/onActivityResult, tu devrais pouvoir faire cela
    Tu lances le chargement par un startActivityForResult, tu implémentes onActivityResult dans ton Activity appelante, qui te permettra de lancer alors l'installation (startActivity si tu n'as pas besoin de savoir quand l'installation est terminée, startActivityForResult sinon)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    c'est une très bonne idée
    j'ai implémenté, mais le problème est que onActivityResult est appelée avant que le téléchargement est eu lieu. Comme si l'activité était terminé, qu'un autre processe de téléchargement avait pris la main.
    Existe-t-il une autre méthode plus approprié que téléchargement d'un fichier via l'url ?
    A moins que je me sois trompé dans mon code ?

    Merci chpil de m'aider

  4. #4
    Membre actif Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Points : 212
    Points
    212
    Par défaut
    Suivant la version d'Android que tu cibles, tu peux regarder du coté de DownloadManager, qui gère un download de contenu en arrière-plan, avec notification de fin de download, etc... Par contre, nécessite de cibler un API level 9 minimum (Android 2.3)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    je viens de prendre le temps de lire et j'ai même commencé à implémenter cette technique que je n'avais pas trouvé.
    Par contre, cela m'ennuie que cette méthode ne soit pas disponible avant le level 9, comment faire si je souhaite faire tourner mon code à partir d'une 1.6 ? (il faut que mon code tourne sur un maximum de smartphone)
    Merci

  6. #6
    Membre actif Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Points : 212
    Points
    212
    Par défaut
    Si tu as besoin d'une compatibilité avec des terminaux 1.6, oublie DownloadManager effectivement
    Dans ce cas, je ne vois pas d'autre solution que d'implémenter toi-même l'équivalent de ce que fait le DownloadManager, dans ton propre Service

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    donc ce que j'avais commencé à faire,mais en utilisant startActivityForResult/onActivityResult, je ne parviens pas à recevoir un event à la fin du téléchargement, il passe par RESULT_CANCEL ??
    Pourquoi ?
    Existe-til une autre solution ?

Discussions similaires

  1. [XL-2007] plusieurs souci dans mon code
    Par vincent59139 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/10/2013, 17h38
  2. Projet VB v6 : utilisation de requête SQL dans mon code
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/10/2005, 15h02
  3. Réponses: 10
    Dernier message: 06/10/2005, 22h25
  4. Réponses: 1
    Dernier message: 21/02/2005, 12h40
  5. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35

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