同时将牛轧糖和奥利奥推送通知都无效

问题描述 投票:0回答:1

我有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"
}

是否有几乎所有Android版本都接受的Push Notification(方法/功能)(所以我想使其至少为api +17接受)

android android-notifications android-8.0-oreo android-7.0-nougat
1个回答
0
投票

检查OS版本是否为Oreo或更高版本,然后使用频道,否则不要创建频道并在通知时设置其ID。

© www.soinside.com 2019 - 2024. All rights reserved.