private NotificationManager manager; private Notification notification; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BASE) { //对版本进行判断 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { //id在notification中会用到,name可以随意设置,最后一个为优先级 NotificationChannel channel = new NotificationChannel("myfirst", "ceshi", NotificationManager.IMPORTANCE_HIGH); manager.createNotificationChannel(channel); } } Intent intent= new Intent(this,目标activity); //将创建的intent转化为pendingintent PendingIntent pendingIntent= PendingIntent.getActivity(this,0,intent,0); notification = new NotificationCompat.Builder(this, "myfirst") .setContentTitle("1") .setContentText("wolaile") .setSmallIcon(R.drawable.ic_launcher_foreground) .setContentIntent(pendingIntent) .build(); }
//通知发出函数 public void send(View view){ manager.notify(1,notification); } //通知取消函数 public void cancel(View view){manager.cancel(1);}