android - 如何在单例组件中向 okhttp 添加代理服务器?
问题描述
在我的匕首图中,我需要为 okhttp 提供代理。我正在使用java.net.InetSocketAddress
whichjava.net.Proxy
导致主线程上的网络异常。
@InstallIn(SingletonComponent::class)
@Module
class SingletonModule {
@Provides
fun proxyClient(): OkHttpClient {
return OkHttpClient.Builder()
.proxy(
Proxy(Proxy.Type.HTTP,
InetSocketAddress("192.9.09.8", 98))
).callTimeout(2, TimeUnit.MINUTES).build()
}
}
暂停功能似乎不适用于刀柄。
有没有办法在 Hilt 中使用异步代码?
崩溃日志
Caused by: android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1565) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:115) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at java.net.InetAddress.getAllByName(InetAddress.java:1152) at java.net.Socket.<init>(Socket.java:218) at com.moblie.frencheska.hilt.SingletonModule.proxyClient(SingletonModule.kt:55)
解决方案
推荐阅读
- .htaccess - 未找到 Ads.txt - 为 https 重定向正确配置 htaccess
- python - Python、多处理和内存:它是如何工作的?
- java - android studio - 如何停止可运行?
- r - 正则表达式匹配 R 中的日期
- java - 如何在android中获取桌面版网站的内容?
- css - 用户菜单导航背景颜色的 CSS 代码
- git - 如何从`git reset --hard`恢复我上次修改的提交?
- c - 为什么字符串数组只返回第一个元素,而不返回后续元素?
- data-science - 世界死亡率数据
- javascript - BST 删除方法在 JavaScript 中不起作用