Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取应用程序图标android 8时出现异常,适用于android 7_Android_Kotlin_Android 8.0 Oreo_Android 7.1 Nougat - Fatal编程技术网

获取应用程序图标android 8时出现异常,适用于android 7

获取应用程序图标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(如

我正在尝试在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(如果有关系的话)。

似乎
R.mipmap.ic_launcher
不是
BitmapDrawable
资源的id
ic_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