Android资源收录android系统控件Android

Android 之 Notification 必须掌握知识点

2017-04-10  本文已影响518人  code小生

本文同步我的 CSDN 博客
转载请注明出处
http://blog.csdn.net/wufeng55/article/details/69791139

创建并发送一个系统通知

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mu_16jj.notificationdemo.MainActivity">
    <TextView
        android:id="@+id/tv_send_notification"
        android:layout_width="wrap_content"
        android:layout_height="35dp"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:background="@color/colorAccent"
        android:text="send notification"
        android:textSize="16sp" />
</RelativeLayout>

很简单的布局,就一个 TextView 利用其点击事件来发送通知。

创建 Notification

private void createNotification() {
        notification = new NotificationCompat.Builder(MainActivity.this)
                .setContentTitle("Notification title")
                .setTicker("Ticker method function...")
                .setContentText("Notification content text")
                .setSubText("subtext...")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.ic_launcher_round)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.large_icon))
                .build();
    }

通过 NotificationCompat.Build 来构建一个 Notification 对象,并设置一系列属性(每个属性对应的效果后面展示)。

发送按钮监听

notificationManager.notify(1, notification);

这里需要说明的是,Notification 的发送还是由 NotificationManager 来管理的,第一个参数用来标识一个唯一的 Notification;第二个参数就是需要发送的 Notification 对象。我们在 onCreate 方法中通过以下代码初始化了通知管理器对象:

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

运行效果

技术公众号.jpg
上一篇下一篇

猜你喜欢

热点阅读