Android 8.0 实现发送通知 Android 8.0 实现发送通知是 Android 操作系统中的一项重要功能。从 Android 8.0 开始,对 Notification 通知 API 进行了修改,新增了通知渠道(NotificationChannel)。通知渠道是 Android 8.0 中的一项新功能,允许应用程序创建多个通知渠道,每个渠道都可以设置不同的通知参数,如_importance_(重要性)、_sound_(声音)和_vibrationPattern_(振动模式)。 Android 8.0 实现发送通知可以分为三个步骤:创建应用程序、创建通知渠道和发送通知。 需要在 Application 中添加通知频道。在 Application 的 onCreate() 方法中,需要调用 NotificationChannels 的 createAllNotificationChannels() 方法来创建所有的通知渠道。 public class NdkApplication extends Application { @Override public void onCreate() { super.onCreate(); NotificationChannels.createAllNotificationChannels(this); } } 需要创建 NotificationChannels 类,该类负责创建所有的通知渠道。 public class NotificationChannels { public final static String CRITICAL = "critical"; public final static String IMPORTANCE = "importance"; public final static String DEFAULT = "default"; public final static String LOW = "low"; public final static String MEDIA = "media"; public static void createAllNotificationChannels(Context context) { NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if(nm == null) { return; } NotificationChannel mediaChannel = new NotificationChannel( MEDIA, context.getString(R.string.app_name), NotificationManager.IMPORTANCE_DEFAULT); mediaChannel.setSound(null,null); mediaChannel.setVibrationPattern(null); nm.createNotificationChannels(Arrays.asList( new NotificationChannel( CRITICAL, context.getString(R.string.app_name), NotificationManager.IMPORTANCE_HIGH), new NotificationChannel( IMPORTANCE, context.getString(R.string.app_name), NotificationManager.IMPORTANCE_DEFAULT), new NotificationChannel( DEFAULT, context.getString(R.string.app_name), NotificationManager.IMPORTANCE_LOW), new NotificationChannel( LOW, context.getString(R.string.app_name), NotificationManager.IMPORTANCE_MIN), mediaChannel )); } } 需要在需要发送通知的地方调用 sendSimpleNotification() 方法来发送通知。 public void sendSimpleNotification(Context context) { // 创建 NotificationCompat.Builder NotificationCompat.Builder builder = new NotificationCompat.Builder(context); // 设置通知参数 builder.setSmallIcon(R.drawable.ic_notification); builder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher)); builder.setContentTitle("这是一个简单的通知"); builder.setContentText("这是一个简单的通知内容"); builder.setPriority(NotificationCompat.PRIORITY_HIGH); // 获取 NotificationManager NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // 发送通知 nm.notify(1, builder.build()); } Android 8.0 实现发送通知需要创建应用程序、创建通知渠道和发送通知三个步骤。通知渠道是 Android 8.0 中的一项新功能,允许应用程序创建多个通知渠道,每个渠道都可以设置不同的通知参数。
- 粉丝: 3
- 资源: 908
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c
- C语言-leetcode题解之58-length-of-last-word.c
- 计算机编程课程设计基础教程