Android--使用Notification在通知栏显示消息

时间:2021-12-29 09:13:13

  在一个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--使用Notification在通知栏显示消息

Android--使用Notification在通知栏显示消息的更多相关文章

  1. Android学习笔记通过Toast显示消息提示框

    显示消息提示框的步骤 这个很简单我就直接上代码了: Button show = (Button)findViewById(R.id.show); show.setOnClickListener(new ...

  2. Android 主页面顶部栏的通知Notification ,可以自定义通知消息栏的风格,并且点击通知栏进人本程序。

    常用的程序通知,显示到主页面的顶部栏. package com.lixu.tongzhi; import android.app.Activity; import android.app.Notifi ...

  3. 通知栏发送消息Notification(可以使用自定义的布局)

    一个简单的应用场景:假如用户打开Activity以后,按Home键,此时Activity 进入-> onPause() -> onStop() 不可见.代码在此时机发送一个Notifica ...

  4. android自定义Notification通知栏实例

    项目有个需求,需要在发送Notification的时候动态给定url的图片.大概思路如下:自己定义一个Notification的布局文件,这样能够很方便设置View的属性. 首先加载网络图片,使用Bi ...

  5. 转 android客户端版本检测更新,服务下载,通知栏显示

    看图, 只要点击取消或是下载完毕 通知才会消失!      代码是大部分是借用别人的,再自己修改,达到自己所需要的效果 xml文件 update.xml <?xml version=" ...

  6. Android开发——Notification通知的各种Style详解

    本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...

  7. Android开发——Notification通知的使用及NotificationCopat&period;Builder常用设置API

    想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...

  8. 安卓开发&lowbar;浅谈Notification(通知栏)

    Notification通知栏是显示在手机状态的消息,代表一种全局效果的通知 快速创建一个Notification的步骤简单可以分为以下四步: 第一步:通过getSystemService()方法得到 ...

  9. Android应用实现Push推送消息原理

            本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我 们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅 ...

随机推荐

  1. Unity 脚本函数生命周期

    Awake(),一般我们在这里做一些组件的获得,比如使用getcomponent方法. Start(),我们可以在这里给变量赋值. FixUpdate(),固定更新,因为这里得更新速度为固定(可以在T ...

  2. UESTC&lowbar;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 ...

  3. 新博客 Fighting

    C3  Viso绘图 的 几种关系

  4. ASP&period;NET Core 2&period;1 源码学习之 Options&lbrack;2&rsqb;&colon;IOptions

    在 上一章 中,介绍了Options的注册,而在使用时只需要注入 IOption<T> 即可: public ValuesController(IOptions<MyOptions& ...

  5. JDK源码分析(5)Vector

    JDK版本 Vector简介 /** * The {@code Vector} class implements a growable array of * objects. Like an arra ...

  6. Java Web&lpar;五&rpar; 监听器Listener

    监听器概述 在上一篇里介绍了过滤器Filter,而Listener是Servlet的另一个高级特性.Listener用于监听Java Web程序中的事件,例如创建,修改,删除Session,reque ...

  7. 【第十五章】 springboot &plus; pojo默认值设置

    我们有时需要给POJO设置默认值 pojo设置(推荐) 1.User package com.xxx.firstboot.domain; import lombok.Getter; import lo ...

  8. Storm实现单词统计代码

    import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.HashM ...

  9. BZOJ 2151 种树(循环链表)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2151 [题目大意] 在一个长度为n的数字环中挑选m个不相邻的数字使得其和最大 [题解] ...

  10. hibernate 执行存储过程 方法

    private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) ...