关闭

Android 实现不同通知栏

标签: Android通知栏
592人阅读 评论(0) 收藏 举报
分类:

第一步:(不管哪种方式都要先得到通知管理器的实例)

 NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

一,普通通知栏:

这里写图片描述

代码如下:

Notification.Builder builder=new Notification.Builder(this);
          Intent intent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.jianshu.com/p/82e249713f1b"));
          PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);


          builder.setContentIntent(pendingIntent);
          builder.setSmallIcon(R.mipmap.ic_launcher);
          builder.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
          builder.setAutoCancel(true);
          builder.setContentTitle("普通通知栏");
          mNotificationManager.notify(1, builder.build());

二,自定义布局通知栏:

这里写图片描述

代码如下:(布局就是一个基本的布局)

notification.bigContentView=remoteViews;
notification.contentView=remoteViews;
Notification.Builder builder2=new Notification.Builder(this);
          Intent intent2=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.jianshu.com/p/82e249713f1b"));
          PendingIntent pendingIntent2=PendingIntent.getActivity(this,0,intent2,0);
          builder2.setContentIntent(pendingIntent2);
          builder2.setSmallIcon(R.mipmap.ic_launcher);
          builder2.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
          builder2.setAutoCancel(true);
          builder2.setContentTitle("折叠通知");

          RemoteViews remoteViews=new RemoteViews(getPackageName(),R.layout.layout_view);
          Notification  notification=builder2.build();
          notification.bigContentView=remoteViews;
          mNotificationManager.notify(1,notification);

三,悬挂式的通知:

这里写图片描述
代码如下:(布局就是一个基本的布局)

Notification.Builder builder3=new Notification.Builder(this);
          Intent intent3=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.jianshu.com/p/82e249713f1b"));
          PendingIntent pendingIntent3=PendingIntent.getActivity(this,0,intent3,0);
          builder3.setContentIntent(pendingIntent3);
          builder3.setSmallIcon(R.mipmap.ic_launcher);
          builder3.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
          builder3.setAutoCancel(true);
          builder3.setContentTitle("悬挂通知栏");

          Intent XuanIntent=new Intent();
          XuanIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
          XuanIntent.setClass(this,MainActivity.class);

          PendingIntent xuanpengdIntent=PendingIntent.getActivity(this,0,XuanIntent,PendingIntent.FLAG_CANCEL_CURRENT);
          builder3.setFullScreenIntent(xuanpengdIntent,true);
          mNotificationManager.notify(2,builder3.build());

另外:
VISIBILITY_PUBLIC: 任何情况的显示
VISIBILITY_PRIVATE: 只有在没有锁屏时显示
VISIBILITY_SECRET: 在安全锁下或者没锁屏下显示
Android5.0以后可以通过builder.setVisibility(Notification.VISIBILITY_PUBLIC);设置.

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android 展开/折叠 系统下拉通知栏

最近几天碰到一个郁闷的问题,在有些机型上面使用PendingIntent.getActivity(context, 0, intent, 0)的方式打开一个指定的Activity后,通知栏并不主动折叠...
  • baiyulinlin1
  • baiyulinlin1
  • 2017-01-03 11:28
  • 1714

Android应用的定时通知实现

在移动应用的开发中,我们经常会遇到定时提醒用户的需求,比如:电影票预订后在电影开始前两个小时提醒用户电影时间。 我的思路大致如下: 1.使用AlarmManager设置闹钟 既然要使用定时服务,那么自...
  • gagalaha
  • gagalaha
  • 2015-09-04 00:59
  • 1173

Android通知栏实现APP下载更新(DownloadManager和自定义Notification2种方式实现)

在Android开发应用中,我们经常会遇到软件自动下载更新功能,最简单的方法先采用HttpClient去下载apk资源,在下载的过程中我们通过计算来算出下载的进度,然后我们可以使用Dialog+Pro...
  • wcbcslg
  • wcbcslg
  • 2015-06-04 17:09
  • 3873

android应用程序,使用不同方法,在activity之中隐藏Title,或者实现FullScreen(隐藏通知栏)显示。

在activity之中隐藏Title,或者实现FullScreen(隐藏通知栏)显示,可以使用不同的方法 大体上可以分为三类,分情形在不同的情况下使用,可以方便的设置和管理你的应用程序。 1.在o...
  • wangyg1990
  • wangyg1990
  • 2013-05-12 15:10
  • 1840

android 实现Notification的通知栏常驻

  • 2015-03-27 20:13
  • 1.49MB
  • 下载

Delphi Android通知栏消息内容(单行/多行)实现

  • 2017-12-05 13:40
  • 43KB
  • 下载

android实现通知栏下载更新app示例

1.设计思路,使用VersionCode定义为版本升级参数。 android为我们定义版本提供了2个属性: 复制代码代码如下: android:versionCode="1"...
  • mgt625
  • mgt625
  • 2014-10-28 11:01
  • 533

android常驻通知栏的实现

最近做一个项目,其中一个要加入的功能是常驻Notification栏,以前写的时候只能出现 在“通知”这一组中,想把它放在“正在运行”组中却不知道怎么放,查了下官方文档,找到了方法,在notifica...
  • snow12342234
  • snow12342234
  • 2015-11-17 21:46
  • 4339

Android开源库之沉浸式通知栏的简单实现(SystemBarTintManager)

先来张无沉浸式通知栏效果图瞅瞅。。。(瞬间感觉好搓的样子。。。) 在瞧瞧有沉浸式通知栏的效果图。。。 是不是很屌炸天呢。。。 那我们接下来具体介绍如何实现的吧。。。 首先,必须在And...
  • u011652925
  • u011652925
  • 2017-11-30 10:57
  • 400

android通知栏的实现

(1)、使用系统定义的Notification 以下是使用示例代码: //创建一个NotificationManager的引用 String ns = Context.NOTIFIC...
  • generallizhong
  • generallizhong
  • 2015-08-13 14:34
  • 248
    个人资料
    • 访问:6527次
    • 积分:248
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:4篇
    • 译文:6篇
    • 评论:0条