我需要创建一个简单的通知,如果可能的话,它将与声音和图标一起显示在通知栏中?我还需要它与 Android 2.2 兼容,所以我发现 NotificationCompat.Builder 可以与 4 以上的所有 API 一起使用。如果有更好的解决方案,请随时提及。
原文由 Vladimir 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要创建一个简单的通知,如果可能的话,它将与声音和图标一起显示在通知栏中?我还需要它与 Android 2.2 兼容,所以我发现 NotificationCompat.Builder 可以与 4 以上的所有 API 一起使用。如果有更好的解决方案,请随时提及。
原文由 Vladimir 发布,翻译遵循 CC BY-SA 4.0 许可协议
Application Class here 代码在下面
public class App extends Application {
public static final String CHANNEL_1="CHANNEL1";
@Override
public void onCreate() {
super.onCreate();
createNotificationChannel();
}
private void createNotificationChannel() {
NotificationChannel channel=new NotificationChannel(CHANNEL_1,"Channel 1", NotificationManager.IMPORTANCE_HIGH);
channel.setDescription("This is Channel 1");
NotificationManager notificationManager=getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
}
在代码下方创建活动显示通知
NotificationManagerCompat notificationManagerCompat;
notificationManagerCompat = NotificationManagerCompat.from(this);
binding.btnNotification.setOnClickListener(v -> {
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_1)
.setSmallIcon(R.drawable.ic_black_24)
.setContentTitle(getResources().getString(R.string.app_name))
.setContentText("Message")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_MESSAGE)
.build();
notificationManagerCompat.notify(1, notification);
});
原文由 Mr.Janardan Borada 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.4k 阅读✓ 已解决
2 回答1.8k 阅读
1 回答2.1k 阅读
1 回答1.2k 阅读
1 回答1.4k 阅读
1 回答644 阅读✓ 已解决
1.3k 阅读
NotificationCompat.Builder 是在所有 Android 版本上创建
Notifications
的最简单方法。您甚至可以使用 Android 4.1 提供的功能。如果您的应用在 Android >=4.1 的设备上运行,则将使用新功能,如果在 Android <4.1 上运行,则通知将是一个简单的旧通知。要创建一个简单的通知,只需执行以下操作(请参阅 Android API Guide on Notifications ):
您必须至少设置
smallIcon
、contentTitle
和contentText
。如果您错过了一个通知将不会显示。注意: 在 Gingerbread 及以下您必须设置内容意图,否则会抛出
IllegalArgumentException
。要创建不执行任何操作的意图,请使用:
您可以通过构建器添加声音,即来自 RingtoneManager 的声音:
通过 NotificationManager 将 Notification 添加到 bar: