Включить все настройки уведомлений по умолчанию в моем приложении для Android

Есть ли способ включить все настройки уведомлений по умолчанию при установке моего приложения?

Пользователи получают уведомления, но звук по умолчанию отключен, и нам нужно вручную включить его на устройстве. Не все пользователи могут сделать это вручную. Было бы здорово узнать, есть ли способ проверить все эти вещи, когда наше приложение будет установлено, например, WhatsApp или Telegram (у них все проверено по умолчанию).

Включить все настройки уведомлений по умолчанию в моем приложении для Android

11
0
3 390
3

Ответы 3

Android 8 или более поздней версии вам необходимо использовать канал уведомлений, чтобы включить звук, вибрацию, звук и т. д.

 Uri notification_sound  = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);


        AudioAttributes attributes = new AudioAttributes.Builder()
                .setUsage(AudioAttributes.USAGE_NOTIFICATION)
                .build();


        notificationChannel.setSound(notification_sound, attributes);//for enable sound 

        notificationChannel.enableLights(true);

        notificationManager.createNotificationChannel(notificationChannel);
    }

но в Редми примечание 5 про (MIUI 10.2.1.0) звук уведомлений все равно отключен. Я думаю, что это ошибка в MIUI. Запустите этот же код в mi A1 (Android один мобильный), все в порядке. Оно работает.

обратитесь к этому ссылка на сайт, чтобы узнать больше о Канал уведомлений

Мы используем React Native... Я думаю, нам нужно найти код, отвечающий за обработку уведомлений, и добавить код, как вы предложили... Дам вам знать, если это сработает! Спасибо за ответ ! :)

Captain MAD 03.02.2019 11:42

@CaptainMAD Вы справились с этим в React Native?

Oliver D 29.10.2020 01:52

Попробуйте использовать это разрешение ниже в файле AndroidManifest.

<uses-permission android:name = "android.permission.ACCESS_NOTIFICATION_POLICY"/>

и установите приоритет уведомлений для версий Oreo ниже и выше IMPORTANCE_HIGH для Oreo и выше и PRIORITY_HIGH or PRIORITY_MAX для версий ниже Oreo

Ссылка на приоритетную заметку

Приоритет версии ниже Oreo

mBuilder.setSmallIcon(R.drawable.app_logo)
            .setAutoCancel(true)
            .setContentIntent(resultPendingIntent)
            .setContentTitle(title)
            .setStyle(bigPictureStyle)
            .setSound(soundUri)
            .setPriority(NotificationCompat.PRIORITY_HIGH) // prirority here for version below Oreo
            .setWhen(System.currentTimeMillis())
            .setLargeIcon(BitmapFactory.decodeResource(mCtx.getResources(), R.drawable.app_logo))
            .setContentText(message)
            .build();

Приоритет для Oreo и выше

Обратитесь по этой ссылке

Мне нужно добавить в свой файл манифеста, после чего я получаю уведомление

Harikrushna Patel 07.01.2022 20:33

WhatsApp, Телеграмма, Снапчат и так далее. Это все приложения из белого списка, что означает, что имена пакетов жестко закодированы на уровне ОС, чтобы разрешить некоторые разрешения, включенные по умолчанию. Наши приложения не такие. Следовательно, нам нужно, чтобы пользователь включил эти разрешения вручную.

Вы можете проверить это самостоятельно. Создайте новое приложение для Android, укажите имя пакета приложения Телеграмма (org.telegram.messenger) и просто запустите его. Не делайте никакого кода вообще, и не нужно открывать приложение. Просто перейдите к настройкам уведомлений только что созданного приложения, где вы найдете все разрешения, включенные по умолчанию.

Надеюсь, вы получили ответ.

Другие вопросы по теме