23.09.20 21:09 작성
·
349
0
제가 났던에러입니다. 혹시 누군가 참고가 될수 있을까 해서 정리합니다!
'매칭이 되면 Notification 띄우기' 를 수강중에
저도 아래처럼 버전이 33 이상이어서
compileSdkVersion 33
targetSdkVersion 33
앞강의인 '다음 강의부터 Notification이 나오지 않는다면?'를 보고 그대로했습니다.
그와중에 임포트할게 있어서 아무생각 없이 임포트를했더니 안됐는데 알고보니 Manifest중에서도 (android)라고 써있는 놈을 임포트했어야 됐었습니다.
코드가 아래처럼 임포트 되었으면 된겁니다!
import android.Manifest
그리고 두번째 에러는 알림보내는 코드였는데 저부분에 에러가나서 도저히 모르겠어서 구글링해서
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
2023. 09. 21. 20:44
https://stackoverflow.com/questions/3423754/retrieving-android-api-version-programmatically
버전에 따라 권한 체크를 해주셔도 되고, 위와 같이 예외처리를 해주셔도 됩니다 :)
아래와 같은 라이브러리를 통해서 권한을 체크할 수도 있으니 참고해주세요~