![](/img/trans.png)
[英]How to provide an authentication token to a tile provider with Mapbox Android SDK v10-beta20?
[英]How to detect expired authentication token with Mapbox SDK?
我正在使用Android Mapbox SDK 7.0.0,并使用给定的方法为SDK提供了身份验证令牌: Mapbox.getInstance(applicationContext, mapboxToken)
我的身份验证令牌mapboxToken
运行正常,并显示了地图。
但是,如何检测身份验证令牌何时过期?
我想不定期刷新此身份验证令牌,但这也意味着Android应用程序必须检测过期的令牌才能请求新的令牌。
如果缓存中没有图块,则MapboxView
会触发OnDidFailLoadingMapListener
但是如果缓存中有一些图块,则将正确加载该图,不会加载新图块,也不会触发回调。
我找到了解决问题的方法。 可以覆盖Mapbox SDK的Http客户端。 该解决方法适用于Android提供的Mapbox SDK。 添加拦截器,我们可以在将响应返回给Mapbox本机库之前解释Http代码。
这是我捕获未经授权的HTTP代码的解决方法:
val client = OkHttpClient.Builder().addInterceptor { chain ->
val response = chain.proceed(chain.request())
if (response.code() == 401) {
// Code that handles unauthorized Mapbox token
}
response
}.build()
HttpRequestImpl.setOkHttpClient(client)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.