Fatal Exception: android.app.RemoteServiceExceptionBad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification
안드로이드 targetSdkVersion를 28로 업데이트 발생이 시작된 오류이다.
기존에 targetSdkVersion 26로 지정하였을 때는 채널을 지정하지않고 Notification를 생성해도 문제가 되지
않았다. 이제 빼박인가보다. 채널을 지정해주면 해결되는 문제임을 알고 있으나 사용자는 휴대폰 상태바에 항상 노출되기 때문에 꺼려할 것이다.
@Override
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT >= 28) {//api 28 (android 9)
displayNotification(getApplicationContext(), 0, 0, 0);
}else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//api level 26 , 27
startForeground(2,new Notification()); –오류 발생 원인 코드
}else{
//startForeground(1,new Notification()); //상단에 고정이 되므로 미노출 처리한다.
}
}
Fatal Exception: android.app.RemoteServiceException
Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x40 color=0x00000000 vis=PRIVATE)
keyboard_arrow_up
arrow_right
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1820)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:176)
android.app.ActivityThread.main (ActivityThread.java:6662)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)
발생 기기 정보
—————-
브랜드: Xiaomi
모델: Redmi 6A
방향: 세로
여유 RAM: 415.36 MB
디스크 여유 공간: 1.32 GB
plat_android운영체제
버전: 8.1.0
방향: 세로
루팅: 아니요
bug_report비정상 종료
날짜: 2019. 11. 4. 오전 7:24:00
앱 버전: 4.0.0 (400)