2017-11-15 8 views
0

Locale에 따라 알림 채널 이름을 업데이트하고 싶습니다. 그것을하기 위해서 나는 BroadcastReceiver를 사용하고 ACTION_LOCALE_CHANGED 방송을 듣고있다.알림 채널 이름을 업데이트하는 올바른 방법은 무엇입니까?

제 질문은 이름을 업데이트하는 올바른 방법은 무엇입니까?

이렇게해야합니까?

notificationManager.getNotificationChannel(CHANNEL_ID).setName(“newName”); 

아니면이 채널을 다시 만들어야하나요? 이 (두 번째 방법) 나는 물론 채널 이름을 제외한 어떤 것도 무시하고 이렇게함으로써

NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, “newName”, NotificationManager.IMPORTANCE_DEFAULT); 
notificationManager.createNotificationChannel(notificationChannel); 

?

답변

0

채널을 처음 만들 때처럼 다시 만들어야합니다. createNotificationChannel 명령은 채널이 아직 생성되지 않은 경우 해당 채널을 만들고 채널이 이미 생성 된 경우 채널을 업데이트합니다. 채널이 이미 생성되어있는 경우

후 변경할 수있는 유일한 것은 이름 채널과 채널 설명, 아무것도의입니다. 사용자가 이미 채널의 중요성을 수동으로 변경했을 수 있으므로 중요성은 무시됩니다. 그러나 그가 변경하지 않았더라도 여전히 중요성은 업데이트되지 않으며 실제로는 통지 채널의 목적입니다. 앱을 업데이트 할 때 개발자가 덤비는 일없이 사용자가 채널을 관리 할 수있는 자유를 부여합니다. 선언에 의해 그래서 요약

: 이미 생성 된 채널

NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, “newName”, NotificationManager.IMPORTANCE_DEFAULT); 
notificationManager.createNotificationChannel(notificationChannel); 

는 채널의 이름은 중요 업데이트,하지만됩니다. 채널 설명을 업데이트하려는 경우 다음과 같이 할 수 있습니다.

notificationChannel.setDescription("new description"); //set that before creating the channel 
관련 문제