简单的安卓消息通知:
在网上找了好久的代码修改后结果,在此做一个记录方便以后查找;
创建渠道
private String createNotificationChannel(String channelID, String channelNAME, int level) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationChannel channel = new NotificationChannel(channelID, channelNAME, level);
assert manager != null;
manager.createNotificationChannel(channel);
return channelID;
} else {
return null;
}
}
按钮触发事件
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
String channelId = createNotificationChannel("my_channel_ID", "my_channel_NAME", NotificationManager.IMPORTANCE_HIGH);
assert channelId != null;
NotificationCompat.Builder notification = new NotificationCompat.Builder(this, channelId)
.setContentTitle("通知")//一级标题
.setContentText("收到一条消息")//二级标题
//下面是在标题内显示的具体内容
.setStyle(new NotificationCompat.BigTextStyle().bigText("冷库发生异常"))
.setContentIntent(pendingIntent)
.setSmallIcon(R.mipmap.ic_launcher)//图标
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(100, notification.build());
handler多线程触发(将this改为MainActivity.this)
Intent intent = new Intent();
intent.setClass(getApplicationContext(),SecondActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
String channelId = createNotificationChannel("my_channel_ID", "my_channel_NAME", NotificationManager.IMPORTANCE_HIGH);
assert channelId != null;
NotificationCompat.Builder notification = new NotificationCompat.Builder(MainActivity.this, channelId)
.setContentTitle("警告")//一级标题
.setContentText("冷库发生异常")//二级标题
//下面是在标题内显示的具体内容
//.setStyle(new NotificationCompat.BigTextStyle().bigText("冷库发生异常"))
.setContentIntent(pendingIntent)
.setSmallIcon(R.mipmap.ic_launcher)//图标
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(MainActivity.this);
notificationManager.notify(100, notification.build());
爆红Alt+Enter