2016-04-01 5 views
0

Ich habe die Meldung wie folgt definiert:Passing Aktivität als Parameter in Mitteilung

private void sendNotification(String msg, Activity onClickActivity) { 

     mNotificationManager = (NotificationManager) this 
       .getSystemService(Context.NOTIFICATION_SERVICE); 

     // Send to the login activity, since if already a member and logged in, should be able to start that activity 

     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       new Intent(this, onClickActivity), 0); 

     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
       this).setSmallIcon(R.drawable.gcm_cloud) 
       .setContentTitle("Hello") 
       .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)) 
       .setContentText(msg); 

     mBuilder.setContentIntent(contentIntent); 
     mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); 

    } 

wie Sie sehen können, ich wünsche den PendingIntent ermöglichen können dynamische Verweise auf, so dass ein Benutzer auf Benachrichtigung klicken kann und Anschließend greifen Sie auf verschiedene Aktivitäten unter Activity onClickActivity zu. Zurzeit bemerkt der Fehler, dass er den Konstruktor nicht auflösen kann.

Wie kann ich das zum Funktionieren bringen?

Antwort

1

Die Intent constructor erwartet eine class, nicht eine instance. Ändern Sie einfach Ihre Methodensignatur in

private void sendNotification(String msg, Class<? extends Activity> onClickActivity) {