安卓基础(十三)

你有一份特别的快递

目标人群:没有基础的安卓初学者
知识点:基于V4包的通知栏使用
目标:在通知栏上显示出一条通知

简介

  • NotificationCompat.Builder的相关说明

  • PendingIntent的相关说明

  • NotificationManager的相关说明

正文

1.首先我们需要一个NotificationCompat.Builder的对象实例,一个简单的初始化过程如下

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle("大家好")
                .setContentText("这里是一个通知栏样式");
  • 该类来自于sdk\extras\android\support\v4

  • 实例化过后调用的三个方法分别对图标、标题和正文内容进行了设置

2.随后我们需要对点击这个通知栏执行的意图进行设置

        Intent resultIntent = new Intent(this, HelloActivity.class);
        resultIntent.putExtra("editTxt", "来自于通知栏");
        PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(resultPendingIntent);
  • 当通知栏被点击后,将会跳转至HelloActivity页面,同时传递一个名为editTxt的String值

3.最后,使用NotificationManager类将我们定义好的mBuilder对象显示在通知栏上

        // 为本次通知指定一个ID
        int mNotificationId = 001;
        // 得到NotificationManager的一个系统服务单例
        NotificationManager mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // 调用mBuilder的创建方法并显示
        mNotifyMgr.notify(mNotificationId, mBuilder.build());
  • 每个ID都对应了一个Notification对象,当ID相同时,新的Notification对象会替换掉旧的

4.重新Build你的项目并在模拟器上运行,如果可以看到一个通知栏出现,并且点击后可以跳转至一个新的页面,那么恭喜你,本章完成

扩展阅读

  1. 构建一个Notification

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。