2016-05-16 13 views
-1

Meine AlertReceiver-Klasse erstellt einen Benachrichtigungsdienst. Wie kann ich eine erstellte Benachrichtigung stornieren?Abbrechen der Benachrichtigung über BroadcastReceiver

Hier ist mein Code:

public class AlertReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     createNotification(context,"Title","This is message body", "Alert"); 
    } 
    public void createNotification(Context context,String msg,String msgText, String msgAlert){ 
     PendingIntent notificIntent=PendingIntent.getActivity(context, 0, 
       new Intent(context,MainActivity.class),0); 
     NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(context) 
       .setSmallIcon(R.drawable.my_image) 
       .setContentTitle(msg) 
       .setTicker(msgAlert) 
       .setContentText(msgText); 
     mBuilder.setContentIntent(notificIntent); 
     mBuilder.setDefaults(NotificationCompat.DEFAULT_SOUND); 
     mBuilder.setAutoCancel(true); 
     NotificationManager mNotificationManager= 
       (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
     mNotificationManager.notify(1,mBuilder.build()); 

    } 
} 
+0

Ich meine, wie kann ich Methode für diese Klasse abbrechen schreiben ... –

Antwort

1

Verwenden unregisterReceiver (BroadcastReceiver Empfänger) als separate Funktion des Rundfunkempfängers Klasse von Ihrer Klasse deregistrieren.

public void unRegisterAlertreceiver(){ 
    unregisterReceiver(this); 
} 
+0

Wie kann ich zwischen den Empfängern unterscheiden, die erstellt werden ... –

+0

ich separate Instanzen der Rundfunkempfänger außerhalb der Klasse schaffen würde. –

+0

Können Sie bitte einen Beispielcode schreiben? Es wäre wirklich hilfreich –