Call requires API level 26 (current min is 21): `java.util.Base64#getEncoder`
时间: 2024-02-23 22:02:39 浏览: 196
这个问题是由于您的应用程序的最低API级别为21,而您尝试在API级别低于26的情况下使用`java.util.Base64#getEncoder`方法造成的。`getEncoder`方法是在API级别26中引入的,因此它不适用于API级别低于26的设备。
解决此问题的方法是,您可以使用Android的Base64类,该类可以在API级别21及更高版本中使用。您可以使用此类的`encodeToString`方法来编码您的数据,而不是使用`getEncoder`方法。例如,您可以使用以下代码将字节数组编码为Base64字符串:
```java
String base64String = Base64.encodeToString(byteArray, Base64.DEFAULT);
```
请注意,`encodeToString`方法的第二个参数是Base64编码标志,可以是`Base64.DEFAULT`,`Base64.NO_PADDING`,`Base64.NO_WRAP`,`Base64.URL_SAFE`或`Base64.NO_CLOSE`。您可以根据需要选择其中之一。
希望这可以解决您的问题!
阅读全文