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 :

Application sans activity


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Par défaut Application sans activity
    Bonjour à tous!

    Je suis en train de créer un client Jabber sur Android, destiné à démarrer en même temps que le système et à se fermer en même temps.

    L'application doit fonctionner comme un service, c'est à dire sans interface graphique et de façon invisible pour l'utilisateur.
    Pour cela j'ai une classe qui hérite de Service.

    Mon problème est que je n'ai pas trouvé, à partir du manifest ou autre, à démarrer sur un service, je suis obligé de démarrer sur une activity, dans laquelle je démarre mon service.

    Dans le même genre, je crée des notifications, et je veux effectuer certaines actions lorsque l'utilisateur l'ouvre.
    Dans l'intent, je ne peux mettre qu'une activity, alors que je veux juste faire un certain traitement et pas afficher une interface graphique (par exemple j'aimerais soit lancer une classe, soit une méthode, sur l'ouverture de la notification, et pas une activity).

    Quelqu'un saurait-il m'indiquer comment procéder ?

    Merci d'avance pour votre aide.

    PS: je suis totalement novice en Android

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pour le démarrage de ton application via un service :

    Il faut utiliser cette action :
    http://developer.android.com/referen...BOOT_COMPLETED

    Dans le Manifest :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <receiver android:name="MyStartupIntentReceiver">
    <intent-filter>
    <action
    android:name="android.intent.action.BOOT_COMPLETED" />
    <category android:name="android.intent.category.HOME" />
    </intent-filter>
    </receiver>
    tu as un tutoriel sur le sujet :
    http://blog.developpez.com/android23...on-de-service/

  3. #3
    Membre expérimenté
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Par défaut
    Merci pour ta réponse.

    Entre temps j'ai trouvé un solution, c'est
    - démarrer l'activity
    - lancer le service
    - fermer l'activity

    Je me penche actuellement sur ta solution.
    Sur le lien de l'action que tu ma donné, il est dit
    This is broadcast once, after the system has finished booting.
    Ok, j'imagine que c'est quelque chose qui est déclenché lorsque le système démarre, du coup ca réglerait mon problème de démarrage du service au démarrage d'Android.
    En revanche ce que je ne comprend pas :
    - pour que ce code soit exécuté, il faut que le service soit déjà démarré
    - pour que le service soit démarré, il faut que ce code soit éxecuté
    Concrètement, je ne vois pas comment ça peut marcher !
    D'ailleurs j'ai essayé et comme prévu ça n'a pas marché.

    Des idées?

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    This is broadcast once, after the system has finished booting
    Ok, j'imagine que c'est quelque chose qui est déclenché lorsque le système démarre, du coup ca réglerait mon problème de démarrage du service au démarrage d'android. En revanche ce que je ne comprend pas :
    - pour que ce code soit éxecuté, il faut que le service soit déja démarré
    - pour que le service soit démarré, il faut que ce code soit éxecuté
    concrètement, je en voit pas comment ca peut marcher!!!
    d'ailleurs j'ai essayé et comme prévu ca ne marche pas
    Normalement le service se lance au démarrage d'android comme tu l'as bien supposé , et il appelle le service via le OnReceive, tu as un exemple dans le tutoriel que je t'ai donné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class BackgroundServiceReceiver extends BroadcastReceiver{ 
        @Override 
        public void onReceive(Context context, Intent intent) { 
            Intent serviceIntent = new Intent(); 
            serviceIntent.setClassName("com.android23.backgroundservice", "com.android23.backgroundservice.service.BackgroundService"); 
            context.startService(serviceIntent); 
        } 
    }
    N'oublie pas la permission .

Discussions similaires

  1. Lancer application sans Activity
    Par yrtera dans le forum Android
    Réponses: 4
    Dernier message: 30/04/2013, 19h03
  2. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34
  3. [Portabilité]Lancer une application sans savoir son chemin
    Par tony_big_guy dans le forum Général Java
    Réponses: 3
    Dernier message: 10/12/2005, 14h06
  4. Réponses: 9
    Dernier message: 08/12/2004, 14h36
  5. Réponses: 4
    Dernier message: 04/04/2004, 13h59

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