Sau khi nâng cấp điện thoại của tôi lên 8.1 Nhà phát triển Xem trước dịch vụ nền của tôi không còn khởi động đúng cách.
Trong dịch vụ chạy dài của tôi, tôi đã triển khai một phương thức startForeground để bắt đầu thông báo đang diễn ra được gọi khi tạo.
@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)
}
Thông báo lỗi:
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)
kênh không hợp lệ để thông báo dịch vụ , rõ ràng kênh cũ của tôi DEFAULT_CHANNEL_ID không còn phù hợp với API 27 tôi giả sử. Điều gì sẽ là kênh thích hợp? Tôi đã cố gắng xem qua các tài liệu