我有两个与推送通知相关的函数。
对于Nougat(7.0)(不适用于高于24的版本)。
对于Nougat(7.0)(不适用于高于24的版本)。
Uri SoundUri = RingtoneManager.getDefaultUri((RingtoneManager.TYPE_NOTIFICATION));
Notification notification = new Notification.Builder(first.this)
.setVibrate(new long[] { 350, 350})
.setSmallIcon(R.drawable.testicon)
.setContentTitle("test tittle")
.setContentText("test content")
.setSound(SoundUri).build();
NotificationManager notifmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notifmanager.notify(0,notification);
适用于Oreo或更高版本(8.0)(不适用于Nougat API 24)
CharSequence name = getString(R.string.channel_name);// The user-visible name of the channel.
int importance = NotificationManager.IMPORTANCE_HIGH;
String CHANNEL_ID = "my_channel_01";// The id of the channel.
NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
int notifyID = 1;
Notification notification = new NotificationCompat.Builder(this)
.setVibrate(new long[] { 350, 350})
.setSmallIcon(R.drawable.testicon)
.setContentTitle("test tittle")
.setChannelId(CHANNEL_ID).build();
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);
mNotificationManager.notify(notifyID , notification);
现在我使用Gradle。
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.test.testttt"
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}