android - 改造 2 不适用于 android 10 (api 29)
问题描述
我编写了一些改造代码并在 API 29 模拟器上运行,但它不起作用。没有任何错误或任何日志消息。但它在我的 android 手机 (android 8) 和 API 27 模拟器上运行良好。我搜索了所有网络,但没有找到任何东西。你能弄清楚为什么会这样吗这是我改造部分的代码:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val client = OkHttpClient.Builder()
.build()
val retrofit : Retrofit = Retrofit.Builder()
.baseUrl("https://www.flickr.com/")
.addConverterFactory(ScalarsConverterFactory.create())
.client(client)
.build()
val flickrApi = retrofit.create(FlickrApi::class.java)
val flickrHomePageRequest = flickrApi.fetchContents()
flickrHomePageRequest.enqueue(object : Callback<String> {
override fun onResponse(call: Call<String>, response: Response<String>) {
Log.d(TAG,"Response received ${response.body()}")
}
override fun onFailure(call: Call<String>, t: Throwable) {
Log.d(TAG,"Failed to fetch photos",t)
}
})
}
我还尝试了网络安全配置和明文流量,但都没有奏效。
这是我的 xml 代码:
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">flickr.com</domain>
</domain-config>
</network-security-config>
最后这是我的改造 api 接口
interface FlickrApi {
@GET("/")
fun fetchContents():Call<String>
}
解决方案
将以下代码添加到您的清单中:
<application
...
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
...
</application>
推荐阅读
- outlook-addin - 如何隐藏 OWA 的 Outlook JS 加载项,但不隐藏其他应用程序(桌面 Outlook、Office365)?
- javascript - 当它来自钩子时,无法从我的组件内部的状态映射数组
- mongodb - MongoDB Atlas无法获得控制台模式6
- python - 如何将语义分段生成的二维值数组保存为图像?
- python - 当标准卸载命令无效时,如何从 mac 完全卸载 jupyter notebook 和 jupyterlab?
- python - Subsetting a dataframe in pandas according to column name values
- python - 在 Raspbian 终端中运行 python 脚本,但没有显示,为什么?
- c - 类函数宏调用语法
- toggle - Mapbox:当一个可见时,所有图层都不可见
- c# - 产品部署后,Hangfire 自动启动所有重复作业