获取应用程序图标android 8时出现异常,适用于android 7
我正在尝试在android应用程序中获取通知的大图标,如下所示:获取应用程序图标android 8时出现异常,适用于android 7,android,kotlin,android-8.0-oreo,android-7.1-nougat,Android,Kotlin,Android 8.0 Oreo,Android 7.1 Nougat,我正在尝试在android应用程序中获取通知的大图标,如下所示: val bm = BitmapFactory.decodeResource(this.resources, R.mipmap.ic_launcher) 它在android 7.1中正常工作,但在android 8中引发异常: Caused by: java.lang.IllegalStateException: bm must not be null 这是相同的代码,没有任何变化。有人知道怎么了吗? 我正在使用Kotlin(如
val bm = BitmapFactory.decodeResource(this.resources, R.mipmap.ic_launcher)
它在android 7.1中正常工作,但在android 8中引发异常:
Caused by: java.lang.IllegalStateException: bm must not be null
这是相同的代码,没有任何变化。有人知道怎么了吗?
我正在使用Kotlin(如果有关系的话)。似乎
R.mipmap.ic_launcher
不是BitmapDrawable
资源的idic_launcher.xml
来自mipmap-anydpi-v26
目录的文件在Android 8上使用,而不是ic_launcher.png
来自mipmap-*dpi
。它包含自适应图标资源
您可以尝试将其转换为
位图
这是因为val
无法从对象中获取可设置为null的值。你需要把它包装成可选的,这样每次都会有一些东西出现,但可能没有内在价值。或者只使用var bm:?
-?
是否允许空引用。问题不在于bm
可能是NULL
,这是因为在android 7.1上不是,而在android 8上是NULL
您的res
目录中是否有mipmap-anydpi-v26
,我有mipmap-anydpi-v26
,但它只有xml-s