Notification是显示在手机状态栏的通知,它代表一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification。
在小米手机上,手指在屏幕顶端向下划,可以看到这个通知内容。

  1. package allegro.notificationtest;
  2.  
  3. import android.app.Notification;
  4. import android.app.NotificationManager;
  5. import android.app.PendingIntent;
  6. import android.content.Intent;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.os.Bundle;
  9. import android.view.View;
  10.  
  11. public class MainActivity extends AppCompatActivity {
  12.  
  13. static final int NOTIFICATION_ID = 0x123;
  14. NotificationManager nm;
  15.  
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. nm=(NotificationManager)
  21. getSystemService(NOTIFICATION_SERVICE);
  22. }
  23. public void send(View source)
  24. {
  25. Intent intent=new Intent(MainActivity.this,OtherActivity.class);
  26. PendingIntent pi= PendingIntent.getActivity(MainActivity.this,0,intent,0);
  27. Notification notify = new Notification.Builder(this)
  28. .setAutoCancel(true)
  29. // 设置显示在状态栏的通知提示信息
  30. .setTicker("有新消息")
  31. // 设置通知的图标
  32. .setSmallIcon((R.drawable.java))
  33. // 设置通知内容的标题
  34. .setContentTitle("一条新通知")
  35. // 设置通知内容
  36. .setContentText("恭喜你,你中奖了!")
  37. // 设置使用系统默认的声音、默认LED灯
  38. // .setDefaults(Notification.DEFAULT_SOUND
  39. // |Notification.DEFAULT_LIGHTS)
  40. // 设置通知的自定义声音
  41. // .setSound(Uri.parse("android.resource://org.crazyit.ui/"
  42. // + R.raw.msg))
  43. .setWhen(System.currentTimeMillis())
  44. // 设改通知将要启动程序的Intent
  45. .setContentIntent(pi) //设置事件信息,这里启动intent对应的程序。
  1. .build(); nm.notify(NOTIFICATION_ID,notify); } public void del(View v) { nm.cancel(NOTIFICATION_ID); } }

点击发送按钮后,划开通知栏点击通知,执行启动OtherActivity程序

另外,AndroidManifest.xml文件中声明权限。因为程序要访问闪光灯,振动器。

  1. <!-- 添加操作闪光灯的权限 -->
  2. <uses-permission android:name="android.permission.FLASHLIGHT"/>
  3. <!-- 添加操作振动器的权限 -->
  4. <uses-permission android:name="android.permission.VIBRATE"/>

Android学习:Notification状态栏通知的更多相关文章

  1. Android学习总结(十五) ———— Notification(状态栏通知)基本用法

    一.Notification基本概念  Notification是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容.我们在用手机的时候 ...

  2. Android应用开发学习之状态栏通知

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 状态栏通知涉及到两个类,一是Notification,它代表一个通知:另一个是NotificationManager ...

  3. Android Notification状态栏通知

    没有添加额外的震动及声音效果,这里直接实现了通知的功能,看效果吧: MainActivity.java package com.example.notification; import android ...

  4. Android 状态栏通知Notification、NotificationManager简介

    Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中, ...

  5. Android应用开发基础篇(2)-----Notification(状态栏通知)

    一.概述      Notification这个部件的功能是在状态栏里显示消息提醒,比如有未读的短信或者是未接的电话,那么状态栏里都会有显示,更或者是从某个应用(比如QQ,酷我音乐等等)里按Home键 ...

  6. Android的状态栏通知(Notification)

    通知用于在状态栏显示消息,消息到来时以图标方式表示,如下: 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息. 1.Layout布局文件: <RelativeLayout xmlns:an ...

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

    在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationMa ...

  8. Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

  9. 状态栏通知Notification的简单使用

    今天在学习Notification时同时参考了一些相关的博客,现在结合自身学习实际来总结一下. 在使用手机时,当有未接来电或者短消息时,通常会在手机屏幕上的状态栏上显示.而在Android中有提醒功能 ...

随机推荐

  1. vue中的v-cloak

    问题 在使用vue时,HTML 绑定 Vue实例,在页面加载时会闪烁类似{{msg}}这样的信息.可能会导致用户体验不好. 使用v-cloak v-cloak就能解决这个问题. (1)用法 这个指令保 ...

  2. jquery 在线视频

    1.  jquery  网址 自学视频 http://edu.51cto.com/center/course/lesson/index?id=19292

  3. 下一代微服务 ~ Service Mesh

    微服务(Microservices) 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服 ...

  4. lua的性能优化

    Roberto Ierusalimschy写过经典的Lua 性能提示的文章,链接地址>> 我通过实际的代码来验证,发现一个问题.当我使用 LuaStudio 运行时,发现结果反而与提示相反 ...

  5. Android_Printservice_API_部分翻译

    文件夹 * package android.printservice * public abstract class PrintService * public abstract class Prin ...

  6. InfluxDB源码阅读之httpd服务

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 服务模块介绍 源码路径: github.com/influxda ...

  7. Guava Preconditions 工具参数前置校验

    guava 提供 Preconditions  作为代码校验的工具类,用来简化开发中对代码的校验或预处理,在逻辑开始前进行合理性校验,避免参数传入过深导致的数据错误. 并且能够在不符合校验条件的地方, ...

  8. SQL SERVER 中日期格式化,及GETDATE()、CONVERT()函数使用说明

    1. date和datetime类型的区别 date是SQL Server 2008新引进的数据类型.它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日.只需 ...

  9. CMD 命令1

    cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完dir命令后不关闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. ...

  10. 关于CALayer导致的crash问题

    push到一个页面进行绘图时,设置如下: CALayer * layer = [CALayer layer]; layer.frame = CGRectMake(, , , ); layer.dele ...