Aller au contenu

Notifications : problème contentIntent


yoshizuki

Recommended Posts

Bonjour,

Je me suis mis en tête d'apprendre à coder sous android et je m'y suis mis avec le logiciel/video de Video2Brain.

J'ai un problème au niveau de l'utilisation des Notifications. J'arrive a les afficher dans la barre des notifications mais au moment de les effacer ou de cliquer dessus mon application bug et se ferme. Je ne vois pas d'où vient le problème..

Voici les deux classes de mon programme qui ne sert à rien a part apprendre a faire une notif:

//MAIN.CLASS

package com.formation.notification;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RemoteViews;

public class Main extends Activity implements OnClickListener {

NotificationManager notificationManager;

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       ((Button)this.findViewById(R.id.bouton1)).setOnClickListener(this);
       notificationManager = ((NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE));
       notificationManager.cancelAll();
   }

@Override
public void onClick(View v) {
	Notification nf = new Notification(R.drawable.icon, "petit titre", System.currentTimeMillis());
	nf.contentView = new RemoteViews(getPackageName (), R.layout.note);
	/** il faut penser a demander la permission de vibrate!! 
	 * dans le fichier manifest*/
	nf.vibrate = new long[]{0,100,25,100};
	nf.sound = Uri.parse("android.resource://"+this.getPackageName ()+"/"+R.raw.good);

	Intent activity = new Intent(this, Note.class);
	activity.putExtra("param", 1);
	PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, activity, 0);
	nf.contentIntent = pendingIntent;

	activity = new Intent (this, Note.class);
	activity.putExtra("param", 2);
	nf.deleteIntent = PendingIntent.getActivity(this, 0, activity, 0);

	notificationManager.notify(-1, nf);


}
}

//NOTE.CLASS

package com.formation.notification;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;


public class Note extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

TextView view = ((TextView)this.findViewById(R.id.text));

Bundle extra = this.getIntent().getExtras();
if(extra!=null){
	switch(extra.getInt("param")){
	case 1:view.setText("Cliqué");break;
	case 2:view.setText("Supprimé");break;  }}}}

Je pense que mon erreur traîne dans ces lignes de code de la classe MAIN

Intent activity = new Intent(this, Note.class);
               activity.putExtra("param", 1);
               PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, activity, 0);
               nf.contentIntent = pendingIntent;

               activity = new Intent (this, Note.class);
               activity.putExtra("param", 2);
               nf.deleteIntent = PendingIntent.getActivity(this, 0, activity, 0);

               notificationManager.notify(-1, nf);

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...