在鸿蒙 2.0 Android 10 设备上(如荣耀 KKG-AN00),应用从第二次启动开始时崩溃:
java.lang.NoSuchMethodError: No virtual method setBlockable(Z)V in class Landroid/app/NotificationChannel;
at androidx.activity.p.r(SourceFile:1)
at com.openlist.mobile.OpenListService.onCreate(SourceFile:19)
根本原因
鸿蒙2.0系统移除了标准的 setBlockable() 方法,只保留了带 @Systemapi 标记的 setBlockableSystem(),也就是greylist,普通 App 无法调用。
临时修复
移除以下调用后,App 正常运行不再闪退:
invoke-static {v0}, Landroidx/activity/p;->r(Landroid/app/NotificationChannel;)V
希望官方能针对鸿蒙设备做兼容性适配,感谢!
在鸿蒙 2.0 Android 10 设备上(如荣耀 KKG-AN00),应用从第二次启动开始时崩溃:
根本原因
鸿蒙2.0系统移除了标准的 setBlockable() 方法,只保留了带 @Systemapi 标记的 setBlockableSystem(),也就是greylist,普通 App 无法调用。
临时修复
移除以下调用后,App 正常运行不再闪退:
invoke-static {v0}, Landroidx/activity/p;->r(Landroid/app/NotificationChannel;)V希望官方能针对鸿蒙设备做兼容性适配,感谢!