gpt4 book ai didi

android - HttpCookie.hasExpired() 在 Nougat 之前无法正常工作 (24)

转载 作者:行者123 更新时间:2023-11-29 00:56:50 25 4
gpt4 key购买 nike

此代码仅记录 cookie 列表和每 1 秒哪个 cookie 已过期的 bool 值。

我使用 AVD 模拟器 API 23 运行此源代码。然后,HttpCookie.hasExpired() 仅返回 false。但是,当我在 Nougat(24~25) 和 Oreo 中运行代码时,一切正常。

class MainActivity : AppCompatActivity() {
private val TAG = this.javaClass.name

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val cookieStore = CookieManager().cookieStore
val testCookie = HttpCookie("test", "value")
.also { it.maxAge = 5 }

cookieStore.add(URI.create("http://localhost"), testCookie)

Timer().scheduleAtFixedRate(object : TimerTask() {
override fun run() {
Log.i(TAG, "cookies = ${cookieStore.cookies}, expired = ${testCookie.hasExpired()}")
}
}, 0, 1000)
}
}

我错过了什么吗?使用以下代码,它在非 Android 系统上运行良好。

fun main(args: Array<String>) {
val cookieStore = CookieManager().cookieStore
val testCookie = HttpCookie("test", "value")
.also { it.maxAge = 5 }

cookieStore.add(URI.create("http://localhost"), testCookie)

Timer().scheduleAtFixedRate(object : TimerTask() {
override fun run() {
println("${Date()} | cookies = ${cookieStore.cookies}, expired = ${testCookie.hasExpired()}")
}
}, 0, 1000)
}

最佳答案

如果我们比较 source code of HttpCookie in API 23source code of HttpCookie in API 24我们可以在 hasExpired() 方法中看到明显的行为差异,这可能是导致该问题的原因。

关于android - HttpCookie.hasExpired() 在 Nougat 之前无法正常工作 (24),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54070939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com