这个参数我设置成oppo的channel_id 会影响Android8.0以上的设备通知接收功能吗 ? oppo的channel_id咋和Android8.0以上的设备通知接收功能用同一个参数。
设置参数为 Oppo 的 channel_id 实际上是针对 Oppo 设备进行通知推送的,不会直接影响 Android 8.0 以上设备的通知接收功能。但是,如果您的应用程序要在多个 Android 设备上运行,而不仅仅是 Oppo 设备,那么您需要使用兼容所有 Android 设备的通知机制。在 Android 8.0 及以上版本中,推荐使用 NotificationChannels 的方式进行通知推送。具体来说,您需要按照以下步骤进行操作:
public class NotificationHelper {
private Context mContext;
private NotificationManager mNotificationManager;
public NotificationHelper(Context context) {
mContext = context;
mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// Create the NotificationChannels.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createNotificationChannels();
}
}
@RequiresApi(api = Build.VERSION_CODES.O)
private void createNotificationChannels() {
// Create the NotificationChannels with unique IDs, names, and descriptions.
NotificationChannel channel1 = new NotificationChannel("channel1", "Channel 1", NotificationManager.IMPORTANCE_HIGH);
channel1.setDescription("This is Channel 1");
NotificationChannel channel2 = new NotificationChannel("channel2", "Channel 2", NotificationManager.IMPORTANCE_LOW);
channel2.setDescription("This is Channel 2");
// Add the NotificationChannels to the NotificationManager.
mNotificationManager.createNotificationChannel(channel1);
mNotificationManager.createNotificationChannel(channel2);
}
...
}
在上面的示例中,我们创建了两个不同的 NotificationChannels,并为它们设置了唯一的 ID、名称和描述,以及重要性等级。
public class NotificationHelper {
...
public void sendNotification() {
// Create a NotificationCompat.Builder object.
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext, "channel1")
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("My notification title")
.setContentText("This is the content text of my notification.")
.setPriority(NotificationCompat.PRIORITY_HIGH);
// Show the notification.
mNotificationManager.notify(1, builder.build());
}
...
}
在上面的示例中,我们在 NotificationCompat.Builder 的构造函数中指定要使用的 NotificationChannels,这里使用的是上面创建的 “channel1”。然后,我们设置通知图标、标题、内容等属性,并最终使用 NotificationManager 的 notify() 方法显示通知。
通过这种方式,您可以创建适用于所有 Android 设备的通知推送功能,并且支持在 Android 8.0 及以上版本中使用 NotificationChannels 进行通知显示。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。