像 whatsapp 或短信应用程序这样的通知 android
Notification like whatsapp or sms app android
我想创建一个通知视图,就像 whatsapp 或短信一样 notification.How 我可以实现吗?
目前搜索到的内容
面包丁 : Can found here
这将在 运行 activity 和操作栏下方显示面包丁。
如果我的 activity 不是 运行 或者我在另一个 activity 这怎么处理。
吐司:
这看起来不像是敬酒。它只显示在底部或中心。
对话框:
这可以像这样完成,但这会使应用程序模糊。并禁用背景。我不想要这个
任何解决方案将不胜感激。
谢谢
这是来自 android lollipop 的提醒通知
在这里你检查如何显示通知你可以在这里看到 http://developer.android.com/guide/topics/ui/notifiers/notifications.html
对于单挑,您必须如下设置通知优先级
.setPriority(Notification.PRIORITY_HIGH)
希望对您有所帮助
编辑 11 月 17 日
Notification.PRIORITY_HIGH 在 API 级别 26 中被弃用。请改用 (NotificationManager.IMPORTANCE_HIGH) .
您在上图中看到的是什么 "heads up notificcation"(android 4.3 后添加的功能)
link :heads up notification
设置通知的优先级为高以便在屏幕头部显示
希望这有帮助
可以通过 Heads Up 通知完成。这是Android IS的功能
所以这里的代码是演示
Notification createNotification(boolean makeHeadsUpNotification) {
Notification.Builder notificationBuilder = new Notification.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setPriority(Notification.PRIORITY_DEFAULT)
.setContentTitle("Sample Notification")
.setContentText("This is a normal notification.");
if(Build.VERSION.SDK_INT> Build.VERSION_CODES.KITKAT)
{
notificationBuilder.setCategory(Notification.CATEGORY_MESSAGE);
}
if (makeHeadsUpNotification) {
Intent push = new Intent();
push.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
push.setClass(this, IndexActivity.class);
PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0,
push, PendingIntent.FLAG_CANCEL_CURRENT);
notificationBuilder
.setContentText("Heads-Up Notification on Android L or above.")
.setFullScreenIntent(fullScreenPendingIntent, true);
}
return notificationBuilder.build();
}
你可以这样称呼它
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context
.NOTIFICATION_SERVICE);
mNotificationManager.notify(NOTIFICATION_ID, createNotification(
true));
我想创建一个通知视图,就像 whatsapp 或短信一样 notification.How 我可以实现吗?
目前搜索到的内容
面包丁 : Can found here
这将在 运行 activity 和操作栏下方显示面包丁。 如果我的 activity 不是 运行 或者我在另一个 activity 这怎么处理。
吐司: 这看起来不像是敬酒。它只显示在底部或中心。
对话框: 这可以像这样完成,但这会使应用程序模糊。并禁用背景。我不想要这个
任何解决方案将不胜感激。
谢谢
这是来自 android lollipop 的提醒通知 在这里你检查如何显示通知你可以在这里看到 http://developer.android.com/guide/topics/ui/notifiers/notifications.html 对于单挑,您必须如下设置通知优先级
.setPriority(Notification.PRIORITY_HIGH)
希望对您有所帮助
编辑 11 月 17 日
Notification.PRIORITY_HIGH 在 API 级别 26 中被弃用。请改用 (NotificationManager.IMPORTANCE_HIGH) .
您在上图中看到的是什么 "heads up notificcation"(android 4.3 后添加的功能)
link :heads up notification
设置通知的优先级为高以便在屏幕头部显示 希望这有帮助
可以通过 Heads Up 通知完成。这是Android IS的功能 所以这里的代码是演示
Notification createNotification(boolean makeHeadsUpNotification) {
Notification.Builder notificationBuilder = new Notification.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setPriority(Notification.PRIORITY_DEFAULT)
.setContentTitle("Sample Notification")
.setContentText("This is a normal notification.");
if(Build.VERSION.SDK_INT> Build.VERSION_CODES.KITKAT)
{
notificationBuilder.setCategory(Notification.CATEGORY_MESSAGE);
}
if (makeHeadsUpNotification) {
Intent push = new Intent();
push.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
push.setClass(this, IndexActivity.class);
PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0,
push, PendingIntent.FLAG_CANCEL_CURRENT);
notificationBuilder
.setContentText("Heads-Up Notification on Android L or above.")
.setFullScreenIntent(fullScreenPendingIntent, true);
}
return notificationBuilder.build();
}
你可以这样称呼它
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context
.NOTIFICATION_SERVICE);
mNotificationManager.notify(NOTIFICATION_ID, createNotification(
true));