无法升级到Android 8.1

时间:2018-04-12 08:44:59

标签: android service android-notifications upgrade ros

我有一个现有项目我想从Android 8.0升级到8.1,但它失败了。我在Android 8.1上阅读了这些变化,但我不知道究竟是什么问题。我的logcat中有一些失败,你可以在这里看到:

    --------- beginning of crash
04-12 08:57:55.605 3530-3530/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.teleoperation, PID: 3530
    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 tick defaults=0x0 flags=0x50 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)
编辑:我在源代码中发现了一些有趣的工作人员。此应用程序正在使用ros-library。我在我的程序中找到了这个:

public class ControlActivity extends RosActivity{
public ControlActivity() {
    super("RosAndroidExample", "RosAndroidExample");
}

这部分代码发出通知,但我不知道我能做些什么来解决这个问题

我希望这足以解决我的问题。如果您需要任何信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

来自https://developer.android.com/guide/topics/ui/notifiers/notifications.html

  

从Android 8.0(API级别26)开始,所有通知都必须分配给频道,否则不会显示。通过将通知分类到频道,用户可以禁用应用的特定通知频道(而不是禁用所有通知),用户可以控制每个频道的视觉和听觉选项 - 所有这些都来自Android系统设置(图11)。用户还可以长按通知以更改关联频道的行为。

按照https://developer.android.com/training/notify-user/build-notification.html中的步骤操作,让您的通知适用于Android 8及更低版本。