安卓状态栏通知Status Bar Notification

安卓系统通知用户三种方式:

1.Toast Notification

2.Dialog Notification

3.Status Bar Notification Status Bar Notification,状态栏通知

发送一个状态栏通知必须用到两个类:NotificationManager,Notification

1.NotificationManager是一个系统Service,必须通过getSystemService()获取

NotificationManager notificationManager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);

2.Notification是具体的状态栏通知对象

调用NotificationManager的notify()方法创建Notification

两部分:

①:状态栏通知

notification.icon=R.drawable.ic_launcher;

notification.tickerText="My First Notification";

notification.when=System.currentTimeMillis();

②:下拉通知列表和点击跳转:

两种方式:

一:setLatestEventInfo()方法

Context context = getApplicationContext();

CharSequence contentTitle="Notification";

CharSequence contentText="Notification Context";

Intent intent=new Intent(Main.this,Turn.class);

PendingIntent pendingIntent=PendingIntent.getActivity(Main.this, 0, intent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent);

二:自定义通知栏

notification.flags=Notification.FLAG_AUTO_CANCEL;用户点击后通知自动取消

设置两个变量contentView和contentIntent

RemoteViews contenView=new RemoteViews(getPackageName(), R.layout.notification_layout);

contenView.setImageViewResource(R.id.icon, R.drawable.ic_launcher);

contenView.setTextViewText(R.id.contentText, "自定义通知");

notification.contentView=contenView;

Intent intent1=new Intent(Main.this,Turn.class);

PendingIntent pendingIntent1=PendingIntent.getActivity(Main.this, 0, intent1, 0);

notification.contentIntent=pendingIntent1;

Tips:

可能遇到的错误:Couldn‘t expand RemoteViews for:

检查是否是RemoteViews对应的layout里使用了它不支持的组件

检查RemoteViews对应的layout布局文件是否有基本错误,例如忘记声明宽高等

时间: 2024-11-08 20:30:56

安卓状态栏通知Status Bar Notification的相关文章

IQKeyboardManager 状态栏(status bar)问题

因为懒,所以具体什么样子,参考下面的链接 具体的问题情况参考:StatusBar background problem #1158 我解决的思路很简单,就是在监听键盘消失的时候,去设置 statys bar 的背景颜色. 因为状态栏并不是消失了,说明不是frame 出了问题,那么我就修改 它的背景颜色. 具体代码: 去替换 IQKeyboardManager.m 中的下面的方法 - (void)keyboardDidHide:(NSNotification*)aNotification { CF

【Android】状态栏通知Notification、NotificationManager详解(转)

在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationManager . Notification. NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等. NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取. [java] view plainc

Android 状态栏通知Notification、NotificationManager详解

在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationManager . Notification. NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等. NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取. 1 <code>Notificat

自定义状态栏背景(status bar)

公司大设计师只出iOS设计图.新的iOS系统的状态栏(status bar,就是显示时间.电量那个)是透明的,Android 4.4 (Kitkat,api 19)也添加了自定义 status bar 和 navigation bar 的一些api,可以实现同样的效果. --- github上有 SystemBarTint 可以使用,但是很多功能用不到,所以自己实现了下. --- @Override protected void onCreate(Bundle savedInstanceStat

android 实现自定义状态栏通知(Status Notification)

在android项目的开发中,有时为了实现和用户更好的交互,在通知栏这一小小的旮旯里,我们通常需要将内容丰富起来,这个时候我们就需要去实现自定义的通知栏,例如下面360或者网易的样式: 首先我们要了解的是 自定义布局文件支持的控件类型:Notification的自定义布局是RemoteViews,因此,它仅支持FrameLayout.LinearLayout.RelativeLayout三种布局控件,同时支持AnalogClock.Chronometer.Button.ImageButton.I

android 实现自己定义状态栏通知(Status Notification)

在android项目的开发中,有时为了实现和用户更好的交互,在通知栏这一小小的旮旯里,我们通常须要将内容丰富起来,这个时候我们就须要去实现自己定义的通知栏,比如以下360或者网易的样式: 首先我们要了解的是 自己定义布局文件支持的控件类型:Notification的自己定义布局是RemoteViews,因此,它仅支持FrameLayout.LinearLayout.RelativeLayout三种布局控件,同一时候支持AnalogClock.Chronometer.Button.ImageBut

iOS7隐藏状态栏 status Bar

转自:http://blog.csdn.net/dqjyong/article/details/17896145 IOS7中,不仅应用的风格有一定的变化,状态栏变化比较大,我们可以看到UIVIEWCONTROLLER的状态栏与导航栏基本是一体的.因此UIVIEWCONTROLLER的HIDE/SHOW状态的方法也跟其他版本的不一样了. 在IOS7以前的版本,HIDE/SHOW是通过以下代码实现 [cpp] view plaincopy [[UIApplication sharedApplicat

Android - 隐藏最顶端的通知条(Top Notification Bar)

隐藏最顶端的通知条(Top Notification Bar/ActionBar) 本文地址: http://blog.csdn.net/caroline_wendy Android中, 视频播放等功能需要全屏播放, 就需要隐藏最上面的Notification Bar/ActionBar; 最上面的Bar, 其实是与Theme有关, 在Theme中有些设计样式(style), 就可以隐藏这个"条". 代码: android:theme="@style/AppTheme&quo

Android基础入门教程——2.5.2 Notification(状态栏通知)详解

Android基础入门教程--2.5.2 Notification(状态栏通知)详解 标签(空格分隔): Android基础入门教程 本节引言: 本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 现在普遍的Android设备基本都在4.x以上,甚至是5.0以上的都有:他们各自的Notification 都是不一样的!而本节给大家讲解的是基于4.x以