在android中执行单击通知的操作

时间:2013-03-01 10:43:52

标签: android notifications

我正在尝试正确创建通知,但是当您点击通知时我无法执行操作。我希望你能帮助我或提供一些线索。

2 个答案:

答案 0 :(得分:0)

    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    Notification notif = new Notification(R.drawable.ic_launcher, "Text",
            System.currentTimeMillis());

    Intent intent = new Intent(this, MainActivity.class);
    intent.putExtra("somekey", "someextra");
    PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);

    notif.setLatestEventInfo(this, "Title", "Message", pIntent);

    notif.flags |= Notification.FLAG_AUTO_CANCEL;
    nm.notify(1, notif);

将Notification.Builder用于新版本api

答案 1 :(得分:0)

建议您使用支持库中的Notification.BuilderNotificationCompat.Builder来构建通知。

另外,为什么要重复使用Intent抓住的BroadcastReceiver?它应该是指您想通过点击启动的实际活动。

例如:

Intent intent = new Intent(context, MainActivity.class);

Notification notification = new NotificationCompat.Builder(context)
                .setContentTitle(contentTitle)
                .setContentText(contentText)
                .setContentIntent(PendingIntent.getActivity(context, 0, intent, 0))
                .setAutoCancel(true)
                .build();

如果您不想发布某些活动,可以启动Service或发送广播消息。请参阅PendingIntent