android之Notification的例子
来源:互联网 发布:java的命名规范 编辑:程序博客网 时间:2024/05/21 04:16
public class HelloActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello);
clearNotification();
}
@Override
protected void onStop() {
showNotification();
super.onStop();
}
@Override
protected void onStart() {
clearNotification();
super.onStart();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.hello, menu);
return true;
}
/**
* 在状态栏显示通知
*/
private void showNotification(){
// 创建一个NotificationManager的引用
NotificationManager notificationManager = (NotificationManager)
this.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
// 定义Notification的各种属性(显示图标,提示文字,通知到达时间)
Notification notification =new Notification(R.drawable.ic_launcher,
"测试系统", System.currentTimeMillis());
//FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
//FLAG_NO_CLEAR 该通知不能被状态栏的清除按钮给清除掉
//FLAG_ONGOING_EVENT 通知放置在正在运行
//FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应
notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中
notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
//DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等
//DEFAULT_LIGHTS 使用默认闪光提示
//DEFAULT_SOUNDS 使用默认提示声音
//DEFAULT_VIBRATE 使用默认手机震动,需加上<uses-permission android:name="android.permission.VIBRATE" />权限
notification.defaults = Notification.DEFAULT_LIGHTS;
//叠加效果常量
//notification.defaults=Notification.DEFAULT_LIGHTS|Notification.DEFAULT_SOUND;
notification.ledARGB = Color.BLUE;
notification.ledOnMS =5000; //闪光时间,毫秒
// 设置通知的事件消息
CharSequence contentTitle ="测试系统标题"; // 通知栏标题
CharSequence contentText ="测试系统内容"; // 通知栏内容
Intent notificationIntent =new Intent(HelloActivity.this, HelloActivity.class); // 点击该通知后要跳转的Activity
//PendingIntent.getActivity(Context context, int requestCode, Intent intent, int flags)
//requestCode和flags都设置为0了,目前Android中还没有使用到requestCode来做什么控制,只是预留了这么一个参数方便于未来的扩展,
//但是Flag能就非常有用了,因为系统会通过Flag来识别需要进行的行为。
//目前在Android中有以下flag:
//FLAG_CANCEL_CURRENT:如果当前系统中已经存在一个相同的PendingIntent对象,那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。
//FLAG_NO_CREATE:如果当前系统中不存在相同的PendingIntent对象,系统将不会创建该PendingIntent对象而是直接返回null。
//FLAG_ONE_SHOT:该PendingIntent只作用一次,如果该PendingIntent对象已经触发过一次,那么下次再获取该PendingIntent并且再触发时,
//系统将会返回一个SendIntentException,在使用这个标志的时候一定要注意哦。
//FLAG_UPDATE_CURRENT:如果系统中已存在该PendingIntent对象,那么系统将保留该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中
//的Intent对象数据,例如更新Intent中的Extras。这个非常有用,例如之前提到的,我们需要在每次更新之后更新Intent中的Extras数据,
//达到在不同时机传递给MainActivity不同的参数,实现不同的效果。
PendingIntent contentItent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, contentTitle, contentText, contentItent);
// 把Notification传递给NotificationManager (1为id,要唯一)
notificationManager.notify(1, notification);
}
//删除通知
private void clearNotification(){
// 启动后删除之前我们定义的通知
NotificationManager notificationManager = (NotificationManager) this
.getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(1);
}
}
- android之Notification的例子
- android Notification的例子
- Android Notification的完整例子
- Android Notification 例子
- Android notification 例子
- Android Notification例子
- Android之Notification的使用
- Android Notification使用小例子
- Android学习之Notification的简单使用
- Android之Notification的多种用法
- Android之Notification的推荐用法
- Android之Notification的多种用法
- Android之Notification的多种用法
- android通知的demo之Notification
- Android通知之Notification的多种用法
- Android之Notification的多种用法
- Android之Notification的多种用法
- (转)Android之Notification的多种用法
- Android command
- sql2005 数据复制《发布 '%1' 的并发快照不可用》错误的解决办法
- APP营销推广,内容为王
- 打不开博主的blog,所以暂为记录
- JS方法大全,自己收集(以后持续更新)
- android之Notification的例子
- 对php中加密函数的总结
- linux catalina.sh配置
- iOS-响应上下左右滑动手势
- extjs4 combo 的 键入自动查询
- Magento 修改添加产品的默认属性值
- 主引导扇区
- 动态规划--LIS(nlogn实现,轮船问题或建桥问题)
- Building Multi-Tenant SaaS Applications on Azure