《第一行代码》学习笔记——第八章 手机多媒体
使用通知
示例代码:
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
String channelId = "channelId";
int notificationId = 1;
Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
Notification notification = new NotificationCompat.Builder(this, channelId)
.setContentTitle("This is content title")
.setContentText("This is content text")
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_MAX)
.build();
manager.notify(notificationId, notification);
Android8.0以后需要添加通道:
String channelName = "channelName";
String description = "this is my channel description";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
channel.setDescription(description);
manager.createNotificationChannel(channel);
}
为通知添加响应事件:
Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder(this, channelId)
...
.setContentIntent(pi)
.build();