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 :

Création de plusieurs alarmes ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    Par défaut Création de plusieurs alarmes ?
    bonjour,

    je souhaite faire une application qui permet a l'utilisateur de définir une heure et un mode(silencieux, vibreur, sonnerie).
    a l'heure défini, le téléphone passe automatiquement dans le mode choisi.

    pour cela, j'ai défini une alarme:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int alarmtype = AlarmManager.RTC;
     
    		Intent action = new Intent(this,alarme_receveur.class);
     
    		PendingIntent chuut_alarm_debut = PendingIntent.getBroadcast(this, 0, action, 0);
     
    		alarme_debut.set(alarmtype, heure_debut.getTimeInMillis(),chuut_alarm_debut);

    voici ma classe alarme_receveur:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class alarme_receveur extends BroadcastReceiver{
     
     
    	@Override
    	public void onReceive(Context arg0, Intent arg1) {
     
    		AudioManager am = (AudioManager) arg0.getSystemService(Context.AUDIO_SERVICE);
    		am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
     
    	}

    dans ce test, je passe le téléphone en silencieux. ca marche bien, par contre, je ne sais pas comment faire pour mettre un autre mode.

    je ne peut pas ajouter des arguments a la méthode onReceive(), je ne peut pas acceder aux view.

    la seule solution que j'ai trouvé (mais je trouve pas ça terrible), c'est de créer une classe pour chaque mode.
    y a t'il une autre solution ?

    Merci.

  2. #2
    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
    Passer des informations dans le Intent ... (action, url, type, extras).

    Attention à bien changer l'identifiant du PendingIntent aussi.

  3. #3
    Membre confirmé
    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
    Par défaut
    bonjour,

    j'ai réussit en utilisant setAction().

    voici mon code dans mon Activity:

    Code java : 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
    int alarmtype = AlarmManager.RTC;
    		long repetition = AlarmManager.INTERVAL_DAY;
     
    		Intent action_debut = new Intent(this,alarme_receveur.class);
     
    		if(((RadioButton) findViewById(R.id.rdb_sonnerie_debut)).isChecked()){
    			action_debut.setAction("normal");	
    		}
     
    		if(((RadioButton) findViewById(R.id.rdb_vibreur_debut)).isChecked()){
    			action_debut.setAction("vibrate");	
    		}
     
    		if(((RadioButton) findViewById(R.id.rdb_silencieux_debut)).isChecked()){
    			action_debut.setAction("silent");	
    		}
     
    		chuut_alarm_debut = PendingIntent.getBroadcast(this, 0, action_debut, 0);
     
     
    		alarme_debut.setInexactRepeating(alarmtype, heure_debut.getTimeInMillis(), repetition, chuut_alarm_debut);


    et voici ma classe alarme_receveur:

    Code java : 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
    public class alarme_receveur extends BroadcastReceiver{
     
    	@Override
    	public void onReceive(Context arg0, Intent arg1) {
     
    		//cont=arg0;
    		AudioManager am = (AudioManager) arg0.getSystemService(Context.AUDIO_SERVICE);
    		//am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
     
    		if(arg1.getAction().compareToIgnoreCase("normal")==0){
    			am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    			Toast.makeText(arg0, "passage en mode normal",Toast.LENGTH_LONG).show();	
    		}
     
    		if(arg1.getAction().compareToIgnoreCase("vibrate")==0){
    			am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
    			Toast.makeText(arg0, "passage en mode vibreur",Toast.LENGTH_LONG).show();	
    		}
     
    		if(arg1.getAction().compareToIgnoreCase("silent")==0){
    			am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
    			Toast.makeText(arg0, "passage en mode silencieux",Toast.LENGTH_LONG).show();	
    		}
     
    		//Toast.makeText(arg0, "C'est l'heure !!!",Toast.LENGTH_LONG).show();	
    	}
     
    }

    quand je teste avec un calendrier ca marche bien, mais pour mon appli, ca marche pas top...mais ca c'est une autre histoire, pour un autre post.

    Merci nicroman

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

Discussions similaires

  1. Création de plusieurs bases
    Par Asdorve dans le forum Débuter
    Réponses: 2
    Dernier message: 26/04/2006, 16h11
  2. création de plusieurs TEdit par programmation
    Par faten7 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/04/2006, 21h22
  3. Création de plusieurs niveaux de sous formulaires
    Par Farbin dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 20h15
  4. création de plusieurs fiches dans un meme formulaire...
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 13/10/2005, 13h44
  5. création de plusieurs threads dans WinMain
    Par ChidoriRasengan dans le forum DirectX
    Réponses: 1
    Dernier message: 15/06/2005, 21h36

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