인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

최대환님의 프로필 이미지
최대환

작성한 질문수

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

매칭이 되면 Notification 띄우기

Notification 띄우기를 하는 중에 났던 에러들 입니다!

작성

·

363

0

제가 났던에러입니다. 혹시 누군가 참고가 될수 있을까 해서 정리합니다!
'매칭이 되면 Notification 띄우기' 를 수강중에

저도 아래처럼 버전이 33 이상이어서

compileSdkVersion 33
targetSdkVersion 33 

앞강의인 '다음 강의부터 Notification이 나오지 않는다면?'를 보고 그대로했습니다.
스크린샷 2023-09-20 오후 8.49.49.png그와중에 임포트할게 있어서 아무생각 없이 임포트를했더니 안됐는데 알고보니 Manifest중에서도 (android)라고 써있는 놈을 임포트했어야 됐었습니다.

KakaoTalk_Photo_2023-09-20-20-51-44.jpeg코드가 아래처럼 임포트 되었으면 된겁니다!

import android.Manifest

그리고 두번째 에러는 알림보내는 코드였는데 저부분에 에러가나서 도저히 모르겠어서 구글링해서

스크린샷 2023-09-20 오후 8.56.36.png

    private fun sendNotification() {
        try {
            var builder = NotificationCompat.Builder(this, "test_channel")
                .setSmallIcon(R.drawable.ic_launcher_background)
                .setContentTitle("매칭완료")
                .setContentText("매칭이 완료되었습니다 저사람도 나를 좋아해요")
                .setPriority(NotificationCompat.PRIORITY_DEFAULT)
            with(NotificationManagerCompat.from(this)) {
                notify(0, builder.build())
            }
        } catch (e: SecurityException) {
        }
    }

이런식으로 try-catch문을 쓰라고 해서 하긴했는데 일단 돌아가긴하는데 정확히 해결한지는 모르겠습니다! 이렇게 하는게 맞는건지 확인부탁드립니다!

 

 

 

답변 1

1

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

https://stackoverflow.com/questions/3423754/retrieving-android-api-version-programmatically
버전에 따라 권한 체크를 해주셔도 되고, 위와 같이 예외처리를 해주셔도 됩니다 :)

아래와 같은 라이브러리를 통해서 권한을 체크할 수도 있으니 참고해주세요~

https://github.com/ParkSangGwon/TedPermission

최대환님의 프로필 이미지
최대환

작성한 질문수

질문하기