4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2024년 1월 24일 02:48 #111154
김승민참가자일회성 알림인 showNotification() 자체를 실행하는 데에 있어서도 app_icon.png를 인식하지 못하고 있다거나 알림이 안 와서 어플 자체의 설정을 확인하니 알림이 꺼져 있음에도 활성화가 아예 불가능한 상태이거나 하는 등의 다양한 오류를 경험했고, 구글링 및 해당 Flutter 게시판을 통해 해결했습니다. 현재는 showNotification() 은 정상 작동되나, showNotification2() 를 이용했을 땐 알림이 오지 않습니다. 제 환경이 Pixel 5 API 33인데, 처음엔 강의에서 showNotification2() 관련 코드를 복사했더니 실행 자체가 안 됐습니다. Unhandled Exception: PlatformException(exact_alarms_not_permitted, Exact alarms are not permitted, null, null) Console에 위와 같은 에러가 뜨기에 구글링을 해보았더니 API 33 이상부터 exact alarm은 기본적으로 거부되기 때문에 ( https://developer.android.com/about/versions/14/changes/schedule-exact-alarms?hl=ko ) AndroidManifest.xml에 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" /> <uses-permission android:name="android.permission.USE_EXACT_ALARM" /> 권한을 줘서 현재 Console 오류는 해결되고 showNotification2()도 실행 가능해졌습니다. 다만 showNotification2() 실행 자체는 가능하지만 알림이 오지 않고 있습니다. showNotification2() 안에서 오류가 있는 건지 확인을 해보았고, 함수 안에 넣은 print문 및 현재 시간, 예약 시간 모두 정상 출력됐습니다. ( 시간 오류는 아니었지만... 혹시나 해서 해당 게시글도 참고했음에도 해결되지 않았습니다 https://codingapple.com/forums/topic/flutter-flutter_local_notifications%ea%b4%80%eb%a0%a8-%ec%98%88%ec%95%bd-%ec%95%8c%eb%a6%bc-%ec%97%90%eb%9f%ac-%eb%b6%80%eb%b6%84/ ) API 33 이상인 게 문제인가 싶어 강의 환경인 Pixel 5 API 30 으로도 확인했고 여전히 showNotification2()의 알림만 작동하지 않습니다. android developer 링크에선 캘린더 혹은 알람시계 어플을 예로 들고 있는데.. 그런 어플이 아니라서 작동이 안 되는 건가 싶다가도 말이 안 되는 거 같아서 다른 가능성을 찾고 있습니다. 어떤 가능성이 있을지 더 체크해봐야 할 게 있을까요? flutter_local_notifications: ^16.3.2 으로 최신 버전을 설치했습니다. 3달 전 버전인 flutter_local_notifications: ^16.0.0 으로 버전을 내려보았지만 여전히 해결되지 않았습니다. ------------------------- 추가) 해당 게시글을 참고하여 ( https://codingapple.com/forums/topic/notification2-%ec%95%8c%eb%a6%bc-%ec%95%88%ec%9a%b8%eb%a6%bc/ ) 혹시 몰라서 선생님과 같은 환경인 flutter_local_notifications: ^9.1.5 으로 맞추었더니 showNotification2() 알림이 옵니다.. 심지어 API 33 환경에서 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" /> <uses-permission android:name="android.permission.USE_EXACT_ALARM" /> 이 권한들을 삭제해봤는데도 정상적으로 알림이 오네요.... 그냥 단순히 최신 버전이 문제였던 것으로 치부하고 넘어가는 게 맞을까요? ------------------------- 추가2) 버전을 하나씩 내리면서 확인했습니다. Min Dart SDK 값이 2.17인 버전 중에는 flutter_local_notifications: ^15.1.3 까지 작동, 그 이후 16.0.0 부터 최신까지 모두 작동하지 않음. Min Dart SDK 값이 2.15 이하는 모두 정상 작동함.
2024년 1월 24일 09:48 #111180
codingapple키 마스터신버전 설치했으면 await FlutterLocalNotificationsPlugin.zonedSchedule() await FlutterLocalNotificationsPlugin.show() 이런 문법써야 알림뜰걸요
2024년 1월 24일 10:57 #111189
김승민참가자맨 윗 부분에 전역변수로 final notifications = FlutterLocalNotificationsPlugin(); 를 이미 해주셔서 선생님의 기존 코드의 notifications.zonedSchedule() 가 이미 같은 기능을 하는 거 같은데 잘 이해가 되지 않습니다. 최신 버전인 16.3.2 에서 혹시나 싶어 notifications.zonedSchedule() 을 await FlutterLocalNotificationsPlugin().zonedSchedule() 으로 바꿔봤는데 여전히 함수 내부 print 등은 정상 작동하나, 알림이 오지 않네요. ㅠㅠ; 마음 편하게 버전을 내려서 사용하는 게 맞을까요.. 가능하다면 뭐가 문제인지 알고 싶은데, 번거롭게 해드려 죄송합니다.
-
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.