Base64支持不同的API级别
在我的Android应用程序
的build.gradle
android { compileSdkVersion 27 defaultConfig { minSdkVersion 16 targetSdkVersion 27 ... } .... }
Kotlin代码
val data = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Base64.getDecoder().decode(str) } else { Base64.decode(str, Base64.DEFAULT) // Unresolved reference: decode }
显然,在API 24之前使用Base64变体时,出现了编译错误。
但是我怎样才能像以前一样支持所有的API级别并使用Base64?
使用android.util.Base64
将从Api 8解决您的问题
val data= android.util.Base64.decode(str, android.util.Base64.DEFAULT);
你应该使用android.util.Base64类。 它是从API 8支持的,
Base64.getDecoder()函数是java.util.Base64的一部分,在Java8中是新的。