我正在开发Android应用程序。该应用程序就像本机短信应用程序。我在通知部分遇到问题。在本机应用程序中,他们以下列方式处理通知。
1)如果来自特定号码的消息,则点击通知将导致相应联系人的聊天页面,并且通知将被清除。
2)如果来自不同号码的邮件,则点击通知将导致主页和通知不会清除。
我完成了第一部分,我不知道第二部分。 有没有办法让通知部分没有明确并调用意图。
答案 0 :(得分:6)
你必须添加一个标志:
notification.flags |= Notification.FLAG_ONGOING_EVENT;
这里有一个完整的例子:
private static final int NOTIFICATION_EX = 0;
private NotificationManager notificationManager;
...
在onCreate中:
notificationManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.youricon;
CharSequence tickerText = "Sticky notification";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
Context context = getApplicationContext();
CharSequence contentTitle = "Sticky notification";
CharSequence contentText = "...click here and it wont go away...";
Intent notificationIntent = new Intent(this, mainmenu.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this,
0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle,
contentText, contentIntent);
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notificationManager.notify(NOTIFICATION_EX, notification);
您可以根据自己的喜好调整意图。
答案 1 :(得分:1)
您必须创建两种不同类型的通知,第一种是您已经实现的,第二种是您可以复制第一种通知并检查数字是否不同使用第二种通知并设置标志要点击notification2.flags |= Notification.FLAG_ONGOING_EVENT;
PendingIntent
中有Intent
的HomeActivity点击{{1}}: