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 :

Broadcast receiver au boot completed


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Par défaut Broadcast receiver au boot completed
    bonjour,

    Je code un broadcast receiver pour que mon application se lance au boot completed de ma tablette.
    Je pensais que le broadcast permettait de lancer mon appli au démarrage mais si le broadcast est codé dans mon appli, je ne vois pas comment Android pourrait lancer l'application au boot sans lancer l'application elle-même...

    Donc où faut-il coder le broadcast receiver pour lancer automatiquement une application au boot ???

    merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Bonjour,

    Dans le manifest :

    Il faut ajouter la permission :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
    Ensuite rajouter un receiver avec l'action BOOT_COMPLETED :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <receiver android:name=".TonReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Par défaut
    ok pour ce code merci (j'ai oublié la partie permission)

    mais j'ai une question plus générale sur le fonctionnement.
    Comment androïd sait qu'un broadcast a été demandée pour mon application avant que celle ci ai été lancée ??

    le manifeste.xml est il chargée à l'installation ?

    Merci pour ces questions un peu débutante

  4. #4
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    oui... c'est un peu le principe même d'un "manifest"
    Fournier des meta-data à un utilisateur "externe"... Chaque application pourrait être considérée comme un "plugin" d'android.

    C'est aussi comme ca que l'activity-manager va pouvoir savoir quel programme lancer lors de tel ou tel intent (par exemple "open d'une url"), voir même proposer à l'utilisateur une liste de choix...

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Par défaut Pbm de lancement d'appli au demarrage android
    Débutant également, au niveau du manifest j'ai respecter les consignes et fais les bonnes declaration cependant mon activité ne se lance toujours pas au boot de mon telephone celui-ci est un HTC wildfire android 2.2.1 serait ce dut a mon tel ? ou a une eventuel erreur dans mon code.

    Merci d'avance pour toute vos réponse

    fichier xml :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.ibsissoko.android.cartemenu"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-sdk android:minSdkVersion="3" />
    	<uses-permission android:name="android.permission.INTERNET"/>
    	<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
     
        <application android:icon="@drawable/logoresto" android:label="@string/app_name">
            <activity android:name=".PageAccueil"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                    <category android:name="android.intent.category.HOME" />
                </intent-filter>
     
            </activity>
    fichier java :
    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
     
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import com.ibsissoko.android.cartemenu.PageAccueil;
     
    public class StartupBroadcastReceiver extends BroadcastReceiver {
     
     
    	@Override
    	public void onReceive(Context context, Intent intent) {
    		Context context1 = null ;
    		Intent demarrage = new Intent (context1, PageAccueil.class);
    		demarrage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		context1.startActivity(demarrage);

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    @ib.sissoko

    L'action <action android:name="android.intent.action.BOOT_COMPLETED" /> devrait être sur la déclaration du receiver :

    Dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <receiver android:name=".StartupBroadcastReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Par défaut
    Oui effectivement je m'en suis rendu compte juste apres avoit poste la question cependant ça ne fonctionne toujours pas.
    une autre piste eventuellement ....

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Dans le onReceive ci dessus "context1" est toujours null :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent demarrage = new Intent (context, PageAccueil.class);
            demarrage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(demarrage);
        }

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Par défaut
    merci pour le code , ça fait une grosse erreur en moins. Cependant j'ai encore un doute sur le manifeste.xml je l'envoie au complet, il y a certainement des erreurs j'ai un doute notamment au niveau de l 'activity car sur l'emulateur ça a l'air de fonctionner par contre sur mon telephone aucune reaction

    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
    35
    36
    37
    38
    39
    40
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.ibsissoko.android.cartemenu"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-sdk android:minSdkVersion="3" />
    	<uses-permission android:name="android.permission.INTERNET"/>
    	<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
     
        <application android:icon="@drawable/logoresto" android:label="@string/app_name">
            <activity android:name=".PageAccueil"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                 <receiver android:name=".StartupBroadcastReceiver">
            	<intent-filter>
    			<action android:name="android.intent.action.BOOT_COMPLETED"></action>
    			</intent-filter>
            		</receiver>
     
            </activity>
     
            <activity android:name=".VisitePage"></activity>
            <activity android:name=".CartePage"></activity>
            <activity android:name=".InfoPage"></activity>
            <activity android:name=".Flamspage"></activity>
            <activity android:name=".menuviandespage"></activity>
            <activity android:name=".menuspecialitespage"></activity>
            <activity android:name=".rapidtchizpage"></activity>
            <activity android:name=".Jeux1pages"></activity>
            <activity android:name=".Jeux2pages"></activity>
            <activity android:name=".Jeux3pages"></activity>
            <activity android:name=".facebookpages"></activity>
            <activity android:name=".bfmpages"></activity>        
     
     
        </application>
    </manifest>

Discussions similaires

  1. BD externe ou Broadcast Receiver+BD locale
    Par dynamite.kid dans le forum Android
    Réponses: 4
    Dernier message: 22/10/2012, 17h59
  2. [Tutoriel] BroadCast Receiver sous Android
    Par Djug dans le forum Android
    Réponses: 2
    Dernier message: 11/07/2011, 12h29
  3. Démarrer une activité à partir d'un broadcast receiver
    Par auxiliaire dans le forum Android
    Réponses: 2
    Dernier message: 31/05/2011, 12h23
  4. broadcast receiver activity
    Par jojo_ol76 dans le forum Android
    Réponses: 2
    Dernier message: 22/03/2011, 09h57

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