创建通知的编程中需要用到两个类,其中,___________________类对象代表通知实例,通常可以使用AndroidX库的NotificationCompat类的内部类____________作为构造器,调用它的方法设置通知各种属性,最终调用该对象的____________方法创建通知实例。
查看答案
从Android 8.0开始,创建通知时必须提供___________,否则通知不会显示。
请根据注释在空白划线处填写所需代码。// 从系统服务中取得NotificationManager对象NotificationManager manager = (1)________________________ (NOTIFICATION_SERVICE);// 创建NotificationCompat.Builder对象,从Android 8.0 开始,必须提供通知通道IDNotification notification = (2)_____________________________ (this,CHANNEL_ID). (3)______________ ("通知") // 设置通知内容标题. (4)______________ ("关于全国职业院校技能大赛报名工作的通知") // 设置通知内容文本. (5)______________ (System.currentTimeMillis())// 设置通知发布时间为当前时间. (6)______________ (R.mipmap.ic_launcher) // 设置通知小图标为R.mipmap.ic_launcher// 设置通知大图标为R.mipmap.ic_launcher,注意方法参数要求Bitmap类型.(7)____________(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)). (8)____________ (NotificationCompat.PRIORITY_MAX) // 设置通知优先级. (9)____________ (true) // 设置为点击通知后自动在状态栏消失. (10)____________; //转换成Notification对象,完成通知构建
请根据注释在空白划线处填写所需代码。// 创建显式意图,用于启动 NotificationActivity类Intent intent = (1) __________________ (this, NotificationActivity.class);// 将Intent转换成启动Activity的PendingIntentPendingIntent pi = (2)________________________ (this, 0, intent, 0);NotificationManager manager = (NotificationManager) getSystemService (NOTIFICATION_SERVICE);// 创建NotificationCompat.Builder对象,从Android 8.0 开始,必须提供通知通道IDNotification notification = (3)_____________________________ (this,CHANNEL_ID). setContentTitle ("通知"). setContentText ("关于全国职业院校技能大赛报名工作的通知"). setWhen (System.currentTimeMillis()). setSmallIcon (R.mipmap.ic_launcher). setLargeIcon (BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)). (4)____________ // 设置通知点击后启动Activity的延时意图. setDefaults(NotificationCompat.DEFAULT_ALL).setStyle((5)_____________________________ // 设置长文本样式.bigText("为加强赛务管理,提高工作效率,”+“做好2019年全国职业院校技能大赛筹备工作,"+"决定启动2021年大赛网上报名工作。现就有关事项通知如下。")).setStyle((6)_____________________________ // 设置大图片样式.bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.big_image))). setPriority (NotificationCompat.PRIORITY_MAX). setAutoCancel (true). build();if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){// 定义通知通道对象NotificationChannel notificationChannel =// 创建通道对象(7)_________________ (CHANNEL_ID, // CHANNEL_ID为通道ID常量"通知通道名称", // 通道名称字符串NotificationManager.IMPORTANCE_DEFAULT); // 通道重要性// 设置通道描述字符串(8) __________________________________ ("通知通道描述");// 调用通知管理器createNotificationChannel方法创建通知通道manager.(9) __________________________________ (notificationChannel);}// 调用通知管理器的方法发布通知,第1个参数是通知代号manager. (10)____________ (1, notification);
从Android 7.0 开始,直接使用本地真实路径的 Uri被认为是不安全的,会抛出一个FileUriExposedException 异常,而____________则是一种特殊的内容提供器,它可以对文件数据进行保护,从而提高了应用的安全性。