Намерение открыть настройки канала уведомлений из моего приложения
Какое намерение мне нужно отправить, чтобы открыть настройки канала уведомлений, который я ранее создал в своем приложении? Мне нужно, чтобы он связался с моей активностью настройки.
2 ответа:
Чтобы открыть настройки для одного канала, вы можете использовать
ACTION_CHANNEL_NOTIFICATION_SETTINGS
:Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS) .putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName()) .putExtra(Settings.EXTRA_CHANNEL_ID, yourChannelId); startActivity(intent);
Использование
ACTION_APP_NOTIFICATION_SETTINGS
будет перечислен список всех каналов приложения:Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS) .putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName()); startActivity(intent);
Здесь фрагменты для настройки уведомлений, а также настройки гранулированного канала:
private void openNotificationSettings() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS); intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName()); startActivity(intent); } else { Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.parse("package:" + getPackageName())); startActivity(intent); } } @RequiresApi(26) private void openChannelSettings(String channelId) { Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS); intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName()); intent.putExtra(Settings.EXTRA_CHANNEL_ID, channelId); startActivity(intent); }