0

使用不同的参数调用了下面的方法两次,name但我的设备上只出现了 1 个通知(最后一个)。PendingIntent.getActivity()我认为在其中放置一个唯一的请求模式参数name.hashCode()会起作用,但这并没有解决问题。那么如何更改此方法以使我的设备连续显示 2 个通知而不是仅显示最后一个?

private void showNotification(String name, String sub) {
        Intent intent = new Intent(activity.getApplicationContext(),
                FragmentTabsPager.class);
        PendingIntent pIntent = PendingIntent.getActivity(
                activity.getApplicationContext(), name.hashCode(), intent, 0);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(
                activity.getApplicationContext());  
        builder.setContentTitle("Hello world"
                ).setContentText(name+" from "+sub)
                .setSmallIcon(R.drawable.icon).setContentIntent(pIntent)
                .getNotification();
        NotificationManager notificationManager = (NotificationManager) activity
                .getApplicationContext().getSystemService(
                        Context.NOTIFICATION_SERVICE);
        Notification notification = builder.getNotification();      
        notification.flags |= Notification.FLAG_AUTO_CANCEL;        
        notification.defaults |= Notification.DEFAULT_SOUND;
        notification.defaults |= Notification.DEFAULT_VIBRATE;      
        notificationManager.notify(0, notification);
    }
4

1 回答 1

0

第一个参数notify()是通知的 ID。Notification如果您希望屏幕上出现不同的 s,则需要有所不同。如果您notify()使用相同的 ID 调用两次,Notification则会替换,而不是添加。

于 2013-03-10T17:38:18.070 回答