Как получить getSound (), getName () из приложения NotificationChannel> = Oreo - PullRequest
0 голосов
/ 27 декабря 2018

Как получить следующие данные из определенного приложения Канал уведомлений

  • getSound ();GetName ();GetId ();getGroup ();

Я пробовал использовать следующий код, но он возвращает сведения о канале системы по умолчанию

 Uri=playSound ;
 String id = ApplicationClass.getInstance().HighNotificationChannelID;
 NotificationChannel mChannels = new NotificationChannel(id, getString(R.string.app_name), NotificationManager.IMPORTANCE_HIGH);
 playSound = mChannels.getSound();

O / P: - content: //настройки / система / notification_sound

1 Ответ

0 голосов
/ 27 декабря 2018

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

Следующая ссылка показывает, как программно открыть настройки канала уведомлений приложения.

открыть приложениенастройка уведомлений

Это может кому-то помочь.

Следующий код вернет вам все каналы приложения

public static List<NotificationChannel> getNotificationChannels(Context context) {
    if (isNotificationChannelSupported(context)) {
        NotificationManager notificationManager =
                (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        if (notificationManager == null) {
            Log.e("", "Notification manager is null");
            return null;
        }
        return notificationManager.getNotificationChannels();
    }
    return null;
}

public static boolean isNotificationChannelSupported(Context context) {
    return Build.VERSION.SDK_INT >= 26 && getTargetSdkVersion(context) >= 26;
}

private static int getTargetSdkVersion(Context context) {
    int targetSdk = -1;
    if (context != null) {
        targetSdk = context.getApplicationInfo().targetSdkVersion;
    }
    return targetSdk;
}

Подпискалиния вернет вам звук Uri так же, как вы можете получить имя, идентификатор и т. д. get(2) - это канал, к которому вы хотите обратиться, чтобы получить информацию, которую вы можете использовать 0,1, также

Uri soundUri= getNotificationChannels(this).get(2).getSound()
...