传智播客学习之Android-通知

本文介绍了Android中三种主要的通知方式:消息通知(Toast Notification)、状态条通知(Status Bar Notification)及对话框通知(Dialog Notification),并提供了详细的实现步骤与示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在实际开发中,经常会遇到这样一个问题,那就是当发生一些事件,为了友好,我们需要和用户交互,比如: 当一个事件比如发送短信结束时,应该出现一条消息确认保存成功。或者后台运行的应用程序需要用户关注,比如删除记录,或者是用户等待的时候看到的进度条或其他,这个时候我们就需要创建一个通知来和用户进行交互,那么今天就和大家分享一下这块的技术。

1.消息通知(Toast Notification

一个消息条通知是一个在窗口表面弹出的信息。它只填充内容所需的空间并且用户当前活动仍然保持可见和可交互。这个通知自动渐入渐出,而且不接受交互事件。因为消息条可以从一个后台服务Service中创建,即便应用程序不可见,它也将呈现出来。

eg:建立一个消息通知

1)实例化一个Toast对象

Toast toast=Toast.makeTextcontexttextduration

说明:context是指当前的一个context对象,一般指当前应用的activity。。其次是显示的内容,最后一个参数是持续的时间

2)调用show方法显示即可

toast.show();

3)我们可以根据需要修改我们需要通知出现的位置,一般一个标准的消息条通知出现在屏幕底部附近的中间,水平方向显示,要想改变位置,我们通过setGravityintintint)方法修改,参数分别是一个Gravity常量,x方向的偏移量,y方向的偏移量。

4)我们也可以通过setView来让这个消息通知的布局更漂亮。只需要定义好一个布局文件就可以实现了。

获取LayoutInflater

调用inflate方法创建View对象

调用toastsetView方法即可

注:LayoutInflater:被用来将一个xml布局文件实例化成为一个View对象,它一般不直接用,而是通过getLaoutInflatergetSystemService(String)去获取标准LayoutInflater实例。

2.状态条通知A Status Bar Notification

一个状态条通知添加一个图标到系统状态栏上(以及一个可选的滚动条文本信息)以及在这个“通知”窗口中的一个扩展消息。当用户选择这个扩展消息时,Android发出这个通知所定义的一个意图(通常是启动一个活动)。你也可以配置这个通知来通过一个声音,震动和设备上的闪烁灯来警告用户。

 我们可以通过ActivityService初始化一个状态条通知,创建通知,我们必须使用NotificationNotificationManager这两个类。利用Notification定义一些状态通知的属性,比如图标,扩展的消息,声音等,而NotificationManagerandroid系统执行管理所有的Notification

Eg

1)获取通知管理器

NotificationManager mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

2)新建一个通知,指定其图标和标题

int icon = android.R.drawable.stat_notify_chat;

long when = System.currentTimeMillis(); 

Notification notification = new Notification(icon, null, when);//第一个参数为图标,第二个参数为标题,第三个为通知时间

notification.defaults = Notification.DEFAULT_SOUND;//发出默认声音

//Intent openintent = new Intent(this, OtherActivity.class);

PendingIntent contentIntent = PendingIntent.getActivity(NotificationActivity.this, 0, null, 0);//当点击消息时就会向系统发送openintent意图

notification.setLatestEventInfo(NotificationActivity.this, "标题", "我是内容", contentIntent);

mNotificationManager.notify(0, notification);//发送通知

3.个对话框通知A Dialog Notification, 用于活动相关的通知

一个对话框通常是出现在当前活动前面的一个小窗口。背后的活动丢失焦点而由这个对话框接受所有的用户交互。对话框通常用做和运行中应用程序直接相关的通知和短暂活动。有以下几个对象对应相应的不同种类的对话框

1)AlertDialog

2)ProcessDialog

3)DatePickerDialo

4)TimePickerDailog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值