0

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

4

2 回答 2

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

于 2013-03-01T10:51:33.440 回答
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

于 2013-03-01T11:11:29.067 回答