调用需要 API 级别 26(当前最小值为 23):java.time.Instant#now
我正在实现Google的Directions API。我的应用在这里支持,但不受支持。minSdkVersion 23
java.time.Instant
是否有解决方案,或者我应该只检查用户的版本并允许此功能(如果它的版本受支持)?
DirectionsResult directionsResult = DirectionsApi.newRequest(geoApiContext)
.mode(TravelMode.DRIVING)
.origin(new com.google.maps.model.LatLng(mapFragment.getUserCoords().latitude, mapFragment.getUserCoords().longitude))
.destination(tabHandlerCommunication.destinationBarCoords)
.departureTime(Instant.now()) // <-- error here
.await();
错误:
调用需要 API 级别 26(当前最小值为 23):java.time.Instant#now less...(Ctrl+F1)检查信息:此检查会扫描应用程序中的所有 Android API 调用,并警告此应用程序针对的所有版本(根据其清单中的最小 SDK 属性)上不可用的任何调用。如果你真的想使用这个API,并且不需要支持较旧的设备,只需在build.gradle或AndroidManifest.xml文件中设置minSdkVersion。如果您的代码有意访问较新的 API,并且您已确保(例如,使用条件执行)此代码将仅在受支持的平台上调用,则可以使用指定要应用的本地最小 SDK 的@TargetApi注释来注释您的类或方法,例如 @TargetApi(11),以便此检查将 11 而不是清单文件的最小 SDK 视为所需的 API 级别。如果您特意在样式定义中设置 android: 属性,请确保将其放在 values-vNN 文件夹中,以避免在某些设备上遇到运行时冲突,其中制造商添加了自定义属性,其 ID 与更高平台上的新属性冲突。同样,您可以在 XML 文件中使用 tools:targetApi=“11” 来指示元素仅在适当的上下文中膨胀。问题 ID: NewApi