在 GCM 通知上设置 onClickListener

Set onClickListener on GCM Notification

我使用 GCM,收到通知时我想做一些特别的事情。因此,我需要在通知中使用类似 onClickListener 的内容。任何的想法 ? 这是我的代码:

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.lastlast)
            .setContentTitle(getString(R.string.message))
            .setContentText(resMessage+getString(R.string.interested_int_you))
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());

这非常简单,就像将数据从一个 activity 发送到另一个。

您只需将所需的数据添加到 intent.putExtra("tag","data") 或 bundle.like 中。

 Intent intent = new Intent(this, MainActivity.class);
 intent.putExtra("notification_tag", notification);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);

并从您定义的 activity

中获取数据

来自

getIntent().getStringExtra("notification_tag");