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 :

Allumer la led de notification


Sujet :

Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Allumer la led de notification
    Bonjour

    Je cherche actuellement à réaliser une application me permettant d’allumer et d'éteindre la led de notification (de mon nexus 4) quand je le souhaite. Malheureusement quand je tente de le faire rien ne se passe. Pourriez-vous me dire ce qui ne va pas dans mon code, svp ?

    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
    41
    42
    43
     
    public class MainActivity extends Activity {
     
    	private static final int IdNotification = 1;
    	Notification notification = new Notification();
    	NotificationManager mNM;
     
    	public void TurnLedOn()
    	{
    	notification.ledARGB = Color.BLUE;
    	notification.ledOffMS = 0;
    	notification.ledOnMS = 1;
    	notification.flags |= Notification.FLAG_SHOW_LIGHTS;
    	}
     
    	public void TurnLedOff()
    	{
    		notification.ledOffMS = 1;
    		notification.ledOnMS = 0;
    	}
     
     
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
     
    		mNM=NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    		mNM.notify(IdNotification, notification);
    		TurnLedOn();
     
    		//pour attendre un peu avant d'eteindre ma led
    		int j;
    		for(int i=0;i<1000000;i++){
    			j=i*i;
    		}
     
     
    		TurnLedOff();
    		mNM.cancel( IdNotification );
    	}
    Merci d'avance pour vos réponses.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Points : 171
    Points
    171
    Par défaut
    Bonjour,

    Tu utilises les notifications et il est dit:
    A Notification object must contain the following:
    • A small icon, set by setSmallIcon()
    • A title, set by setContentTitle()
    • Detail text, set by setContentText()
    De plus une notification sert a notifier... donc tu ne peux modifier la couleur de LED ou l’éteindre que pour cette notification. Toutes les autres notifications feront ce qu'elles veulent

    Ha et une suggestion, évite ce genre de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //pour attendre un peu avant d'eteindre ma led
    int j;
    for(int i=0;i<1000000;i++){
    	j=i*i;
    }
    C'est vraiment laid et tu effectues une boucle d'attente dans l'UIThread
    Tu peux utiliser les Handler et les Messages pour cela.

    Pour plus d'informations sur les notifications:
    http://developer.android.com/guide/t...fications.html

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    quand je remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notification notification = new Notification();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Notification notification = new Notification.Builder(this)
         .setContentTitle("Notification Title ")
         .setContentText("subject")
         .setSmallIcon(R.drawable.mail)
         .build();
    j'ai une erreur :" Fatal exception : main ".

    D'autre part vu que Notification() est déjà un constructeur je ne vois pas pourquoi ça ne fonctionnerai pas.
    Notification()
    Constructs a Notification object with default values.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Au final j'ai modifié mon code comme cela, je n'ai plus d'erreur mais la led ne s'allume toujours pas et je ne vois pas non plus de notification s'afficher.

    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
     
    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
     
    public class MainActivity extends Activity {
     
    	private static final int IdNotification = 1;
    	//Notification notification = new Notification();
    	NotificationManager mNM;
    	Notification notification;
     
     
    	public void TurnLedOn()
    	{
    		notification = new Notification.Builder(this)
    	    .setContentTitle("Notification Title ")
    	    .setContentText("subject")
    	    .setSmallIcon(R.drawable.mail)
    	    .build();
     
    	notification.ledARGB = Color.BLUE;
    	notification.ledOffMS = 0;
    	notification.ledOnMS = 1;
    	notification.flags |= Notification.FLAG_SHOW_LIGHTS;
    	}
     
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
     
    		TurnLedOn();
    		mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    		mNM.notify(IdNotification, notification);
     
    	}
    }
    Ne devrais-je pas voir quelque chose s'afficher a l’écran en même temps que ma led s'allume ?

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

Discussions similaires

  1. [PIC12F625] Simplement allumer des LEDs
    Par geoffroy0123 dans le forum Autres architectures
    Réponses: 0
    Dernier message: 14/10/2009, 21h26
  2. allumer une led a partir du pc via port série
    Par ramanov dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/03/2009, 13h43
  3. Allumer une LED branchée au port série
    Par soeursourire dans le forum Composants
    Réponses: 25
    Dernier message: 31/07/2007, 09h22
  4. Allumer des led via port série en VB, Python, C, ... autres langages ?
    Par damdev955 dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2007, 12h03
  5. allumer une led sur le clavier
    Par Ludo_360 dans le forum Delphi
    Réponses: 3
    Dernier message: 04/05/2007, 11h35

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