在一个Activity中点击按钮,产生一个通知栏消息通知。
package cn.luxh.mynotice; import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent; public class MainActivity extends Activity {
private static String TAG = "MyNotice";
private static int notificationID = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handleBtnDisplayNotification();
} /**
* 点击按钮,创建消息通知
*/
private void handleBtnDisplayNotification() {
Button btnDisplayNotification = (Button) findViewById(R.id.btn_display_notice);
btnDisplayNotification.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "点击按钮");
Intent i = new Intent(MainActivity.this,NoticeViewActivity.class);
i.putExtra("notificationID", notificationID);
PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, i, 0);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //创建通知对象
Notification n = new Notification.Builder(MainActivity.this)
.setContentTitle("有来自黑莓的新邮件")
.setContentText("黑莓,依然经典!")
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pi)
.build();
//振动手机
n.vibrate = new long[]{100,250,100,500};
nm.notify(notificationID, n);
}
});
} }
package cn.luxh.mynotice; import android.app.Activity;
import android.app.NotificationManager;
import android.os.Bundle;
import android.util.Log; /**
* 在通知栏点击通知后显示消息的界面
* @author Luxh
*
*/
public class NoticeViewActivity extends Activity{ private static String TAG = "MyNotice"; @Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "NoticeViewActivity onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notice_view); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//取消通知
nm.cancel(getIntent().getExtras().getInt("notificationID"));
}
}
运行效果:
Android--使用Notification在通知栏显示消息的更多相关文章
-
Android学习笔记通过Toast显示消息提示框
显示消息提示框的步骤 这个很简单我就直接上代码了: Button show = (Button)findViewById(R.id.show); show.setOnClickListener(new ...
-
Android 主页面顶部栏的通知Notification ,可以自定义通知消息栏的风格,并且点击通知栏进人本程序。
常用的程序通知,显示到主页面的顶部栏. package com.lixu.tongzhi; import android.app.Activity; import android.app.Notifi ...
-
通知栏发送消息Notification(可以使用自定义的布局)
一个简单的应用场景:假如用户打开Activity以后,按Home键,此时Activity 进入-> onPause() -> onStop() 不可见.代码在此时机发送一个Notifica ...
-
android自定义Notification通知栏实例
项目有个需求,需要在发送Notification的时候动态给定url的图片.大概思路如下:自己定义一个Notification的布局文件,这样能够很方便设置View的属性. 首先加载网络图片,使用Bi ...
-
转 android客户端版本检测更新,服务下载,通知栏显示
看图, 只要点击取消或是下载完毕 通知才会消失! 代码是大部分是借用别人的,再自己修改,达到自己所需要的效果 xml文件 update.xml <?xml version=" ...
-
Android开发——Notification通知的各种Style详解
本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...
-
Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API
想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...
-
安卓开发_浅谈Notification(通知栏)
Notification通知栏是显示在手机状态的消息,代表一种全局效果的通知 快速创建一个Notification的步骤简单可以分为以下四步: 第一步:通过getSystemService()方法得到 ...
-
Android应用实现Push推送消息原理
本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我 们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅 ...
随机推荐
-
Unity 脚本函数生命周期
Awake(),一般我们在这里做一些组件的获得,比如使用getcomponent方法. Start(),我们可以在这里给变量赋值. FixUpdate(),固定更新,因为这里得更新速度为固定(可以在T ...
-
UESTC_Can You Help God Wu CDOJ 582
There is a boy named God Wu in UESTC ACM team. One day he is asked to finish a task. The task is tha ...
-
新博客 Fighting
C3 Viso绘图 的 几种关系
-
ASP.NET Core 2.1 源码学习之 Options[2]:IOptions
在 上一章 中,介绍了Options的注册,而在使用时只需要注入 IOption<T> 即可: public ValuesController(IOptions<MyOptions& ...
-
JDK源码分析(5)Vector
JDK版本 Vector简介 /** * The {@code Vector} class implements a growable array of * objects. Like an arra ...
-
Java Web(五) 监听器Listener
监听器概述 在上一篇里介绍了过滤器Filter,而Listener是Servlet的另一个高级特性.Listener用于监听Java Web程序中的事件,例如创建,修改,删除Session,reque ...
-
【第十五章】 springboot + pojo默认值设置
我们有时需要给POJO设置默认值 pojo设置(推荐) 1.User package com.xxx.firstboot.domain; import lombok.Getter; import lo ...
-
Storm实现单词统计代码
import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.HashM ...
-
BZOJ 2151 种树(循环链表)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2151 [题目大意] 在一个长度为n的数字环中挑选m个不相邻的数字使得其和最大 [题解] ...
-
hibernate 执行存储过程 方法
private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) ...