安卓中通知(Notification)的基本使用方法

1. 通知的使用场合

当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。

2. 通知的创建步骤

  (1)获取NotificationManager实例,可以通过调用Conten的getSystenService()方法得到,getSystemService()方法接收一个字符串参数用于确定获取系统的哪个服务, 这里我们传入Context.NOTIFICATION_SERVICE 即可。获取NotificationManager实例如下:

NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

  (2)创建Notification对象,该对象用于存储通知的各种所需信息,我们可以使用它的有参构造函数来创建。构造函数有三个参数,第一个参数指定通知图标,第二个参数用于指定通知的ticker 内容,当通知刚被创建的时候,它会在系统的状态栏一闪而过,属于一种瞬时的提示信息。第三个参数用于指定通知被创建的时间,以毫秒为单位,当下拉系统状态栏时,这里指定的时间会显示在相应的通知上。创建一个Notification 对象可以写成:

  Notification notification = new Notification(R.drawable.ic_launcher,"This is a ticker text",System.currentTimeMillis());

  (3)调用Notification的setLatestEventIfo()方法对通知的布局进行设定,这个方法接收四个参数,第一个参数是Context。第二个参数用于指定通知的标题内容,下拉系统状态栏就可以看到这部分内容。第三个参数用于指定通知的正文内容,同样下拉系统状态栏就可以看到这部分内容。第四个参数用于指定实现通知点击事件的PendingIntent对象,如果暂时用不到可以先传入null。因此,对通知的布局进行设定就可以写成:

notification.setLatestEventInfo(context, "This is content title", "This iscontent text", null);

  (4)调用NotificationManager的notify()方法显示通知。notify()方法接收两个参数,第一个参数是id,要保证为每个通知所指定的id 都是不同的。第二个参数则是Notification 对象,这里直接将我们刚刚创建好的Notification 对象传入即可。显示一个通知就可以写成:

manager.notify(1, notification);

3.代码示例

public class MainActivity extends Activity implements OnClickListener {
    private Button sendNotice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendNotice = (Button) findViewById(R.id.send_notice);
        sendNotice.setOnClickListener(this);
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.send_notice:
                NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                Notification notification = new Notification(
                        R.drawable.ic_launcher, "This is a ticker text", System.currentTimeMillis());
                
                notification.setLatestEventInfo(this, "This is content title",
                        "This is content text", null);
                manager.notify(1, notification);
            default:
                break;
        }
    }
}

另外,我在开发完APP都会用一些APP在线自动化测试工具进行测试:www.ineice.com

时间: 2024-12-05 04:50:14

安卓中通知(Notification)的基本使用方法的相关文章

iOS开发中通知(Notification)快速入门及推送通知实现教程

iOS开发中通知(Notification)快速入门及推送通知实现教程 标签: NSNotificationCenterNSNotification 2016-11-14 00:18 232人阅读 评论(0) 收藏 举报  分类: iOS(400)  转载自:http://www.111cn.NET/sj/ios8/90190.htm 通知(Notification)是开发框架中观察者模式的一种实现方式,内部的实现机制由Cocoa框架支持,通常用于试图控制器和数据模型的交互.通过通知,可以向一个

【Android】安卓中常用的图片加载方法

一.通过相机选图片: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent&qu

安卓学习之通知(Notification)

安卓中创建通知需要借助NotificationManager来对通知进行管理.可以调用Context的getsSystemService()方法来获得. getsSystemService()方法接收一个参数,这个参数是字符串,用于指定哪一个服务.Context.NOTIFICATION_SERVICE 就是指定通知服务. 这个方法返回一个Object对象,所欲需要进行强制转换. NotificationManager manager = (NotificationManager) getSys

安卓状态栏通知Status Bar Notification

安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notification,状态栏通知 发送一个状态栏通知必须用到两个类:NotificationManager,Notification 1.NotificationManager是一个系统Service,必须通过getSystemService()获取 NotificationManager notifica

vue 使用element-ui中的Notification自定义按钮并实现关闭功能以及如何处理多个通知

使用element-ui中的Notification,只有一个message属性是有很大的操作空间,其余的都是写死的,无法进行扩展,达不到想要的效果.所以只能在message上下功夫. 在element-ui官方文档中可以看到Notification中的message属性是可以处理VNode的所以我们可以使用VNode来达到我们需要的效果. 如何关闭通知呢? 当创建通知的时候,会返回该通知的实例,通过该实例的close方法可以将通知关闭. 那么当有多个通知显示在屏幕上时,如何关闭特定弹窗的呢?

安卓中onBackPressed ()方法的使用

一.onBackPressed()方法的解释 这个方法放在 void android.app.Activity.onBackPressed() 在安卓API中它是这样解释的: public void onBackPressed () Added in API level 5 Called when the activity has detected the user's press of the back key. The default implementation simply finish

swift中通知的使用方法

其实swift语言和OC语言,在本质上都是一样,其里面的方法之类的也基本相同.通知的使用方法也是一样,只是代码的书写格式发生了改变而已.下面我通过一个简单的小需求,也讲一讲通知,用swift中的闭包,也能完成此功能. 使用通知需要注意事项: 1,先确保接收中心存在,在设置通知中心. 2,最后一定要移除通知中心. 3,通知也是可以传值的,放在userInfo里面. 具体界面效果,我在这里就不截图了,希望各位开发者,自己写一遍,然后运行. ViewController // //  ViewCont

转-安卓中实现两端对齐,中间fill_parent的方法

安卓中实现两端对齐,中间fill_parent的方法 Java代码:   <?xml version="1.0″ encoding="utf-8″?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill

Android中使用Notification实现宽通知栏(Notification示例二)

Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看.通知栏和通知抽屉 (notificationdrawer)都是系统层面控制的,你可以随时查看,不限制于app. Notification 的设计: 作为android UI中很重要的组成部分,notification拥有专属于自己的设计准则. Notification的界面元素在通知抽屉中的