Setelah memutakhirkan telepon saya ke 8.1 Pengembang Pratinjau layanan latar belakang saya tidak lagi dijalankan dengan benar.
Dalam layanan jangka panjang saya, saya telah menerapkan metode startForeground untuk memulai pemberitahuan yang sedang berlangsung yang dipanggil pada buat.
@TargetApi(Build.VERSION_CODES.O)
private fun startForeground() {
// Safe call, handled by compat lib.
val notificationBuilder = NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID)
val notification = notificationBuilder.setOngoing(true)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.build()
startForeground(101, notification)
}
Pesan eror:
11-28 11:47:53.349 24704-24704/$PACKAGE_NAMEE/AndroidRuntime: FATAL EXCEPTION: main
Process: $PACKAGE_NAME, PID: 24704
android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=My channel pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x42 color=0x00000000 vis=PRIVATE)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1768)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
saluran yang tidak valid untuk pemberitahuan layanan , tampaknya saluran lama saya DEFAULT_CHANNEL_ID tidak lagi sesuai untuk API 27 Saya berasumsi. Apa saluran yang tepat? Saya sudah mencoba melihat melalui dokumentasi