Android发送通知 |
您所在的位置:网站首页 › 安卓的消息通知怎么才能开启 › Android发送通知 |
Android发送通知——通知栏(Notification)
通知是指 Android 在您应用的界面之外显示的消息,旨在向用户提供提醒、来自他人的通信信息或您应用中的其他实时信息。在发出一条通知后,手机最上方的状态栏会显示一个通知的图标,下拉状态栏后就可以看到通知的详细内容。用户可以点按通知来打开应用,或直接从通知中执行操作。 Notificationt.Builder常用设置: 设置属性说明setAutoCancel(boolean autocancel)设置点击信息后自动清除通知setContent(RemoteView view)设置自定义通知setContentTitle(String string)设置标题setContentText(String string)设置内容SetContentIntent(PendingIntent intent)设置点击信息后的跳转(意图)setWhen(long when)设置时间setSmallIcon()设置小图标setLargeIcon()设置大图标setPriority(int pri)设置通知的重要程度setStyle(Style style)设置样式setVisibility(int visibility)设置锁屏显示setDefault(int defaults)设置默认 获取系统的通知管理器 NotificationManager notificationManager = (NotificationManager)context.getSystemService(NOTIFICATION_SERVICE); 创建NotificationChannel(这里传入的channelId要和创建的通知channelId一致,才能为指定通知建立通知渠道) NotificationChannel channel = new NotificationChannel(channelId,"测试渠道名称", NotificationManager.IMPORTANCE_DEFAULT); notificationManager.createNotificationChannel(channel);通知渠道是指每条通知都要属于一个对应的渠道,每个APP可以自由地创建当前APP拥有哪些通知渠道,但是这些通知渠道的控制权都是掌握在用户手上的。用户可以自由地选择这些通知渠道的重要程度、是否响铃、是否震动或者是否关闭这个渠道的通知。 通知渠道的使用:Android O(8.0)Notification Channel使用姿势、NotificationChannel使用手册 发送通知 notificationManager.notify(1123, notification);Android为开发者提供了不同种类的通知样式模板可以使用,开发者也可以根据自己需要自定义通知样式。 本来是打算自己看手册总结一下的,有个大神总结得很到位:Android 8.0中各种通知写法汇总。 以大图样式为例: // 1. 创建一个通知(必须设置channelId) Notification.BigPictureStyle bigPictureStyle = new Notification.BigPictureStyle() .setBigContentTitle("Big picture style notification ~ Expand title") .setSummaryText("Demo for big picture style notification ! ~ Expand summery") .bigPicture(BitmapFactory.decodeResource(context.getResources(),R.drawable.welcome3)); Notification notification = new Notification.Builder(context,channelId) .setContentTitle("测试通知标题") .setContentText("测试通知文本") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.drawable.icon) .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.welcome1)) //设置大图标 .setStyle(bigPictureStyle) .build(); // 2. 获取系统的通知管理器 NotificationManager notificationManager = (NotificationManager)context.getSystemService(NOTIFICATION_SERVICE); // 3. 创建NotificationChannel(这里传入的channelId要和创建的通知channelId一致,才能为指定通知建立通知渠道) NotificationChannel channel = new NotificationChannel(channelId,"测试渠道名称", NotificationManager.IMPORTANCE_DEFAULT); notificationManager.createNotificationChannel(channel); // 4. 发送通知 notificationManager.notify(1123, notification);展开前: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |