Android的通知系统

默认分类 | 2015-07-07 08:21:24 | 阅读 1581 次 | 评论(0)

将应用程序的一些重要信息通知给用户。

1、Toast

形式:一般在界面下半部分,弹出一个黑色的方框,不会影响用户操作,过一阵子自已会消失(不会因为界面的消失而消失)

特性:1、Toast提示消息不会获取焦点

2、Toast提示信息过一段时间就会自动消失,不需要用户确认(反馈)

步骤:

1、通过Toast的静态方法:makeText(context,文本,Toast显示的时间)创建一个Toast对象。

makeText()参数:1、上下文对象context,直接指向activity本身

2、文本:消息内容

3、Toast显示的时间:

Toast.LENGTH_LONG 长

Toast.LENGTH_SHORT 短

2、对象.show() 将toast展示出去。

例:Toast.show()

应用场景:提示用户当前状态。

信息量少的提示。

不需要用户确认反馈的信息。

2、Notification

是显示在手机状态栏上面的通知。它代表的是一种全局效果的通知。

作用:来消息的时候显示在通知栏上面,当用户点击的时候就会跳转到详细页面,

使用场景:时效性不是很强的信息。

例如:短信,推送信息

步骤:

1、//得到一个消息管理器 (设置成成员变量)

mManager = (NotificationManager)

getSystemService(Context.NOTIFICATION_SERVICE);

3、//创建notification对象

Notification notification = new Notification(R.drawable.ic_launcher, "消息来了!",

System.currentTimeMillis());

6、//设置意图对象

Intent intent = new Intent();

intent.setClass(this, SecondActivity.class);

5、//设置关联的activity

PendingIntent contentIntent =

PendingIntent.getActivity(this, 0, intent ,0);

4、//设置消息主体内容

notification.setLatestEventInfo(this,"title","message~~",

contentIntent );

7、//设置notification的标志位

//点击后自动消失

//notification.flags = Notification.FLAG_AUTO_CANCEL;

//消息处于运行栏

notification.flags = Notification.FLAG_ONGOING_EVENT;

2、//通过消息管理器发送消息

mManager.notify(123, notification );

//取消通知

mManager.cancel(123);//参数:发送时候的id

注意:android4.1 创建notification对象有个新的方法:

Notification.Builder(this)

3、Dialog 对话框

通常是出现在activity前面的一个小窗体。

对话框通常用户程序短暂中断是提示用户信息。

AlertDialog:

创建方式一:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

//设置标题

builder.setTitle("对话框");

//设置对话框内容

builder.setMessage("对话框内容");

//设置对话框图标

builder.setIcon(R.drawable.ic_launcher);

//设置按钮 共三个

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

startActivity(new Intent(MainActivity.this, SecondActivity.class));

}

});

builder.setNegativeButton("取消", null);

builder.setNeutralButton("应用", null);

//创建对话框

AlertDialog dialog = builder.create();

//显示对话框

dialog.show();

创建方式二:

1、调用showDialog(id)

2、重写onCreateDialog()

返回一个AlertDialog对象

菜单 Menu

选项菜单:OptionMenu

创建方式:

1、创建:

重写onCreateOptionsMenu()

menu.add(0, 1, 0, "设置").setIcon(R.drawable.ic_launcher);

子菜单:

SubMenu subMenu = menu.addSubMenu(0, 9, 0, "子菜单");

subMenu.add(0, 10, 0, "子菜单1");

2、点击事件:

重写onOptionsItemSelected()

switch (item.getItemId()) {

case 10:

Toast.makeText(this, "设置", Toast.LENGTH_LONG).show();

break;

default:

break;

}

第二种:xml

作业:1、练习通知系统、菜单(选项菜单)

文章评论,共0条

游客请输入验证码

android系统 通知管理,Android的通知系统相关推荐

  1. 使用ConnectBot开源项目在android设备上管理你的linux系统

    最近,工作中有使用android通过ssh管理linux系统的需求,找到了这个ConnectBot这个开源项目https://github.com/connectbot/connectbot.http ...

  2. Android P 电量管理,Android P亮点汇总:更智能 更简单

    在今天早些时候开幕的 I/O 开发者大会上,谷歌正式宣布了 Android P 系统.本次更新主打智能,简单,让用户享受更健康的数字生活.具体来说有哪些更新呢?跟随小编一起来看看吧. 全新手势操作 优 ...

  3. android 获取权限管理,Android常用权限获取和设置

    Android常用权限获取和设置 1 活动管理器 权限 代码 ActivityManager activityManager = (ActivityManager) getSystemService( ...

  4. android 内核内存管理,Android内核相关内容总结

    要想充分掌握Android这一操作系统的应用,首先需要我们从Android内核的相关内容开始了解.在这里就为大家详细介绍一下相关的知识. Android操作系统是由谷歌推出的一款基于Linux平台开源 ...

  5. android handlerthread 线程管理,Android多线程之HandlerThread源码解析

    一.概述 先来了解一下HandlerThread的几个特性 HandlerThread继续于Thread,本身就是一个线程类 HandlerThread在内部维护了自己的Looper对象,所以可以进行 ...

  6. android handlerthread 线程管理,Android线程之HandlerThread

    概述 HandlerThread是Thread的一个子类,是Android中提供的另一种线程形态. Handy class for starting a new thread that has a l ...

  7. Android pms权限管理,Android权限机制

    为什么有权限机制 我们知道 Android 应用程序是沙箱隔离的,每个应用都有一个只有自己具有读写权限的专用数据目录.但是如果应用要访问别人的组件或者一些设备上全局可访问的资源,这时候权限机制就能系统 ...

  8. android 生命周期管理,Android Activity生命周期和堆栈管理的详解_Android_脚本之家...

    Activity的生命周期 Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件. 系统提供的组件,不需要用户实例化,用 ...

  9. android安全权限管理,Android 11 中的权限更新

    在 Android 11 中,用户能够针对位置信息.麦克风和摄像头指定更精细的权限.此外,如果以 Android 11 或更高版本为目标平台的应用在一段时间内未使用,系统就会重置这些应用的权限.如果应 ...

最新文章

  1. Django REST framework的一些奇巧淫技(干货!!!)
  2. 企业服务器虚拟化方案文档,服务器虚拟化在企业中的应用
  3. PoW 本质上是个去中心化的时钟
  4. 手机web开发的感想
  5. frame中src怎么设置成一个变量_自动格式化打印变量HMLog介绍
  6. 歌谣--回顾2020 展望2021
  7. python面试设计模式问题_聊聊 Python 面试最常被问到的几种设计模式(下)
  8. 如何成为云计算专家?这些必须知道
  9. $limit、$skip、$unwind
  10. react native windows create bundle folder
  11. poi处理excel导出
  12. 职称计算机excel2015年,【2015年职称计算机Excel重点精讲:创建数据透视表】- 环球网校...
  13. 【题解】Luogu P5071 [Ynoi2015]此时此刻的光辉
  14. 手机APP ~ MUI——创建页面方法
  15. 两种模式的资源管理器代码之———— 删除文件夹
  16. CE修改器入门:查找共享代码
  17. 高并发系统设计 --基于MySQL构建评论系统
  18. 存储服务器设置和文件对拷,思科CNNA中文教程-第一章路由器配置和文件管理(上)...
  19. 我的中软国际实习Day16
  20. 图神经网络(GNN)入门之旅(三)-拉普拉斯矩阵与GCN

热门文章

  1. a标签禁止点击_Nofollow标签的使用
  2. php上传图片类型代码,php 上传图片的代码
  3. 逻辑java练习_逻辑结构常见练习 Java_Note
  4. linux配置串口不支持serial,linux 串口serial1和serial2不能用?
  5. PHP秒杀截流原理,流量新大陆:巧借PC、移动端评论截流,让精准流量“爆起来”...
  6. java rmi 入门实例
  7. [LeetCode] 搜索旋转排序数组
  8. #100. 矩阵乘法
  9. 【事件流】浅谈事件冒泡事件捕获------【巷子】
  10. Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇