需要注意的几点:
1.通知的类型,一般普通的消息事件和正在进行的事件
2.通知的布局是可以自定义的
3.通知在android4.1以后,还支持一种detail的通知,(就是可扩展的)
4.通知的行为,常规的和按照堆栈顺序的
activity的配置:
<activity
android:name="com.example.testnotification.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 确保这次活动是独立的,不影响应用默认的使用范围 -->
<activity
android:name="com.example.testnotification.ResultActivity"
android:excludeFromRecents="true"
android:label="@string/title_activity_result"
android:launchMode="singleTask"
android:taskAffinity="" >
</activity>
<!-- 具有保持应用程序堆栈顺序的,通知 -->
<activity
android:name="com.example.testnotification.Result2Activity"
android:label="@string/title_activity_result2"
android:parentActivityName="com.example.testnotification.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.testnotification.MainActivity" />
</activity>
示例代码:
/**
* 测试发送一个普通行为的通知 通知在点击后,进入resultactivity,点击返回将直接结束
*
* @param v
*/
public void onBtn1(View v) {
// 构造通知,目前已经将直接使用构造方法的方式淘汰了
NotificationCompat.Builder builder = new NotificationCompat.Builder(
this);
builder.setContentTitle("jiba");
builder.setContentTitle("狗日傻逼");
builder.setAutoCancel(true);
builder.setSmallIcon(R.drawable.ic_launcher);
// 通知的活动
Intent notifyIntent = new Intent(this, ResultActivity.class);
// Sets the Activity to start in a new, empty task
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
// Creates the PendingIntent
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
// Puts the PendingIntent into the notification builder
builder.setContentIntent(contentIntent);
// 最后完成通知发送
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, builder.build());
}
/**
* 发送保持堆栈的通知
* @param v
*/
public void onBtn2(View v) {
Intent resultIntent = new Intent(this, Result2Activity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
// Adds the back stack
stackBuilder.addParentStack(Result2Activity.class);
// Adds the Intent to the top of the stack
stackBuilder.addNextIntent(resultIntent);
// Gets a PendingIntent containing the entire back stack
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(
this);
builder.setContentTitle("jiba2");
builder.setContentTitle("狗日傻逼2");
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setAutoCancel(true);
builder.setTicker("oh,jibalema");
builder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(10, builder.build());
}
分享到:
相关推荐
Android实现Notification的通知栏常驻.zip
使用android push notification service 实现即时通知
Android 通知(notification)简单实用Demo,包含点击功能简单例子,供大家下载学习
这几天做一个小软件在API28(Android 9.0)的模拟器上测试时,发现通知栏无效,经过一番查询,了解到:API26(Android 8.0)以后,引入了**通知渠道(Notification Channels)**这么一个东西来帮助用户管理通知。...
notification是一种出现在任务栏的提示,特别是在4.0以后notification改进了不少,本文内容都是基于4.0及4.1以后总结来的,详细介绍各种布局的Notification样式,实现音乐播放器、邮件通知等复杂的例子详细代码。
修改android 2.3版本Notification通知栏不显示的Bug Android 服务端下载 Notification通知栏 断点下载
主要利用了notification service 和receiver 实现了用户通知栏更新,失败了点击重新下载,下载好了点击自动安装,布局很丑,请根据自己项目的实际需求自行修改
Android 使用Notification自定义通知栏显示。自定义系统状态栏通知类NotificationExtend,也可以手动更新状态栏。依据此项目可以做成线程接受,或者广播接受自动更新。我博客网址: ...
这个是android notification框架,如有需要请下载。发发发
本文实例讲解了通知Notification使用方法,此知识点就是用作通知的显示,包括振动、灯光、声音等效果,分享给大家供大家参考,具体内容如下 效果图: MainActivity: import java.io.File; import android....
NULL 博文链接:https://Adam289.iteye.com/blog/1879852
android消息通知栏Notification
android 利用notification 通知栏 实现动态下载.
Android Notification通知 简单使用 demo下载。 解决问题:兼容高低版本,帮助用户打开通知开关,android5.x手机状态栏icon是白块问题。 详细文章请参考 ...
通知的使用大全,自定义等多方面的通知样式
android notification 通知 源码 例子
可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它。为了更新你之前发布的通知,你需要更新或者创建一个NotificationCompat.Builder对象,...
使用android做的小例子 可以在通知栏显示消息和小图标 点击进去可以进入一个页面 主要用于notification的学习 基于android2.3开发
android 8.0 对 通知栏有了很大的改变,以往的方法写通知栏会报错,google新加了一个notificationChannel,而且必须添加,这里是Demo。
手机通知栏,Notification的简单使用