Android Notification 状态栏通知

Android Notification 状态栏通知

import android.app.Notification;
import android.app.NotificationManager;
import android.graphics.BitmapFactory;
import android.app.PendingIntent;        

        // 定义一个PendingIntent,点击Notification后,启动一个Activity。
        Intent it = new Intent(this, LoginActivity.class);
        PendingIntent pit = PendingIntent.getActivity(this, 0, it, 0);

        // 创建通知栏管理工具
        NotificationManager mNManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // 实例化通知栏构造器
        Notification.Builder mBuilder = new Notification.Builder(this);

        // 设置Builder
        // 设置标题
        mBuilder.setContentTitle("我是标题")
                // 设置内容
                .setContentText("我是内容")
                // 设置大图标
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
                // 设置小图标
                .setSmallIcon(R.mipmap.ic_launcher_round)
                // 设置通知时间
                .setWhen(System.currentTimeMillis())
                // 设置通知方式:声音、震动、呼吸灯等效果。这里通知方式为声音。
                .setDefaults(Notification.DEFAULT_SOUND)
                // 设置点击后取消Notification
                .setAutoCancel(true)
                // 设置PendingIntent
                .setContentIntent(pit);

        // 发送通知请求
        mNManager.notify(1000, mBuilder.build());

        // 根据ID取消Notification
        //mNManager.cancel(1000);

如果在Fragment里使用,需要适当调整。

// 定义一个PendingIntent,点击Notification后,启动一个Activity。
Intent it = new Intent(getActivity(), LoginActivity.class);
PendingIntent pit = PendingIntent.getActivity(getActivity(), 0, it, 0);

// 创建通知栏管理工具
NotificationManager mNManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
// 实例化通知栏构造器
Notification.Builder mBuilder = new Notification.Builder(getActivity());

// 设置Builder
// 设置标题
mBuilder.setContentTitle("我是标题")
        // 设置内容
        .setContentText("我是内容")
        // 设置大图标
        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
        // 设置小图标
        .setSmallIcon(R.mipmap.ic_launcher_round)
        // 设置通知时间
        .setWhen(System.currentTimeMillis())
        // 设置通知方式:声音、震动、呼吸灯等效果。这里通知方式为声音。
        .setDefaults(Notification.DEFAULT_SOUND)
        // 设置点击后取消Notification
        .setAutoCancel(true)
        // 设置PendingIntent
        .setContentIntent(pit);

// 发送通知请求
mNManager.notify(1000, mBuilder.build());

// 根据ID取消Notification
//mNManager.cancel(1000);

 

发表回复

您的电子邮箱地址不会被公开。