安卓8.0及以上的系统 引入了 通知渠道 NotificationChannel 来管理消息通知,所以以前的实现方式都要做一些调整才能显示出来,这里简单的实现了一下通知功能。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotificationManager notifiMa=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.O) //版本判断
{
NotificationChannel notifiCh=new NotificationChannel("1","test",NotificationManager.IMPORTANCE_DEFAULT); //建立渠道
notifiMa.createNotificationChannel(notifiCh); //加入渠道
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);
NotificationCompat.Builder builder=new NotificationCompat.Builder(this,"1");
builder.setSmallIcon(R.drawable.ic_launcher_background);
builder.setContentTitle("title");
builder.setContentText("text");
builder.setWhen(System.currentTimeMillis());
builder.setContentIntent(pendingIntent);
builder.setAutoCancel(true);
notifiMa.notify(1,builder.build());