个人记录 Notification

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/NianandShao/article/details/81603495

相关知识

NotificationCompat.Builder 升级到Android O版本创建方法

setContentTitle 设置标题

setContentText 设置内容

setSubText 设置内容下面的小字

setWhen 设置通知时间

setLargIcon 设置大图标

setSmallIcon 设置小图标 大图标右下角的小图标 顶部状态栏的接收通知的图标

setAutoCancel 用户点击通知是否消失 默认不消失

PendingIntent 延迟,待定的Intent,用于点击Notification跳转相关页面

PedingIntent对象的静态方法:

  • getActivity 跳转到一个Activity组件
  • getBroadcast 打开广播组件
  • getService 打开服务组件
public class MainActivity extends AppCompatActivity {

    private AppCompatButton btn_notify;
    private Notification notification;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_notify = findViewById(R.id.btn_notify);

        final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //设置点击跳转到相关Activity的Intent
        Intent intent = new Intent(this, MainActivity.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
        
        notification = new NotificationCompat.Builder(this, "default")
                .setContentTitle("This is title")
                .setContentText("This is content text")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.ic_launcher_round)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher_round))
                .setSubText("小文字")
                .setAutoCancel(true)
                .setContentIntent(pi)
                .build();

        btn_notify.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (manager != null) {
                    manager.notify(1, notification);
                }
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/NianandShao/article/details/81603495