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 :

Relancer des alarmes après le redémarrage


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Points : 139
    Points
    139
    Par défaut Relancer des alarmes après le redémarrage
    bonjour, j'ai fais une application qui modifie automatiquement le mode du téléphone, pour se faire, j'ai créé des alarmes repetitives dont j'ai sauvegardé les infos a l'aide des SharedPreferences.

    maintenant que j'ai sauvegardé les données, je voudrais relancer mes alarmes au redémarrage du téléphone, j'ai trouvé qu'il faut utiliser le Broadcast Intent appelé ACTION_BOOT_COMPLETED.

    j'ai également trouvé ce tuto .

    mais je ne comprend pas la deuxième partie du code, la modification du manifeste:

    <receiver android:name=".BootHelper">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
    </receiver>
    merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    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 habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Points : 139
    Points
    139
    Par défaut
    bonjour,

    merci pour la réponse, j'ai fait comme indiqué....mais ca marche pas

    voici ce que j'ai fait:

    ma classe:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class redemarrer extends BroadcastReceiver{
     
    	@Override
    	public void onReceive(Context context, Intent intent) {
     
    		if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
     
    			Toast.makeText(context, "si ceci s'affiche, c'est que le téléphone a redemarrer et que ca marche",Toast.LENGTH_LONG).show();
     
    		}
    	}
     
    }

    mon manifest:

    Code xml : 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
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.bibi.chuut"
        android:versionCode="1"
        android:versionName="1.2" >
     
        <uses-sdk
            android:minSdkVersion="14"
            android:targetSdkVersion="17" />
     
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.bibi.chuut.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
     
            <receiver android:name="com.bibi.chuut.alarme_action" android:process=":remote" />
     
            <receiver android:name="com.bibi.chuut.redemarrer">
     
                <intent-filter>
    		        <action android:name="android.intent.action.BOOT_COMPLETED" />
    		    </intent-filter>
    		</receiver>
     
        </application>
     
    </manifest>

    j'ai peut etre pas mis les infos au bon endroit dans le manifest ?

    Merci.

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    C'est correct mais essaye de mettre les users permissions à la fin de ton manifest.

    Je remarque juste que tu écris le fullpath (com.bibi...) ce n'est pas nécessaire.

    Tu peux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <receiver android:name="redemarrer" ...
    Autre chose, je ne suis pas sûr qu'un Toast fonctionne dans un Broadcast receiver, question de main thread.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Points : 139
    Points
    139
    Par défaut
    bonjour,

    alors, j'ai du nouveaux, j'ai fais les modif en mettant les uses-permissions a la fin et j'ai changé mon toast, j'ai fais une autre opération, ca n'a pas marché, mais j'ai eu un message d'erreur au lancement de mon emulateur.

    l'erreur c'est que l'application a cessée de fonctionné, donc elle a fonctionné !!!
    donc le test que j'ai fais a marché, c'est juste le code dans mon broadcast qui a raté, je vais tester autre chose.

    autre question, y a t'il un moyen de simuler avec l’émulateur un redémarrage ? pars que là j’arrête l’émulateur et je le relance, mais c'est très long.

    Merci.

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Points : 139
    Points
    139
    Par défaut
    bonjour,

    j'ai changé le code dans ma classe redemarrer extends BroadcastReceiver, et ca a marché !!

    Citation Envoyé par hotcryx
    essaye de mettre les users permissions à la fin de ton manifest
    j'ai testé, il me met un triangle jaune en signalant que les users permissions sont après les balises application, les deux cas fonctionnent.

    Citation Envoyé par hotcryx
    Je remarque juste que tu écris le fullpath (com.bibi...) ce n'est pas nécessaire.
    okay, merci pour l'info.

    Merci anto2b et hotcryx pour votre aide.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/03/2013, 12h17
  2. Relancer un script php après le redémarrage de xampp
    Par ampholyte dans le forum Apache
    Réponses: 2
    Dernier message: 26/09/2012, 14h23
  3. [VBA-E] afficher des données apres saisie dans cellule
    Par user0505 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/04/2006, 14h04
  4. Recuperer des coordonnees apres projection...
    Par harsh dans le forum OpenGL
    Réponses: 5
    Dernier message: 09/03/2005, 10h35
  5. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28

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