我有2个功能,即推送通知。
对于牛轧糖(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"
}
检查OS版本是否为Oreo或更高版本,然后使用频道,否则不要创建频道并在通知时设置其ID。