Android notification

2019-02-21  本文已影响0人  探索的码易

Notification

通知是Android [Material Design] 的ui 比较重要的一环;

创建

为了适配大部分的版本 我们用v4 包下的 NotificationCompat.Builder 来创建获取Notification ;获取NotificationManager ,通过notify 来通知;
Notification 常见的设置;

PendingIntent 用来创建,点击通知的活动;
我们借用TaskStackBuilder 返回栈 来更好 来操作创建;
示例代码如下:

        new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("My notification")
        .setContentText("Hello World!");
// 创建点击返回的activity 
Intent resultIntent = new Intent(this, ResultActivity.class);

//创建返回栈
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(ResultActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
        stackBuilder.getPendingIntent(
            0,
            PendingIntent.FLAG_UPDATE_CURRENT
        );
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(mId, mBuilder.build());

取消通知

QA

国内部分手机的通知栏;需要在设置的内给予权限;(这也是国内开发者个工作比国外多的原因)

PendingIntent 一定要配置点击通知的需要返回的活动界面;如果不设置会导致 PendingIntent的空指针

本文参看 官网

上一篇下一篇

猜你喜欢

热点阅读