gpt4 book ai didi

android - 如何让我的 android 应用程序检测 ARC 中是否有互联网连接?

转载 作者:行者123 更新时间:2023-11-30 02:08:46 24 4
gpt4 key购买 nike

1) 我的应用使用 BroadcastReceiver 监控互联网连接,但在 ARC 上运行时,禁用 WIFI 不会触发任何事件。

    <receiver
android:name=".NetworkReceiver"
android:label="Network Monitor" >
<intent-filter android:priority="1" >
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>

2) 我尝试使用以下方式检查网络状态:

final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo ni = connectivityManager.getActiveNetworkInfo();
boolean isConnected = ni!=null && ni.isConnected();

但即使“主机”未连接到任何网络,它也显示为已连接。

3) 我试图继续请求 URL 并检查是否发生异常,但这只适用于在我的桌面上运行的 ARC。当我将应用程序发布到 chromebook 时,请求只是处理(从不超时)甚至设置 ConnectTimeout。有趣的是,如果在我启动应用程序时没有连接,它会引发异常。问题仅在于在我的应用程序运行时禁用 WIFI - 然后请求将“挂起”(仅在 chromebook 中,它适用于 ARC/Mac)。

URL url = new URL("http://www.google.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(1000);
connection.connect();

有什么建议吗?

最佳答案

如您所见,我们没有正确处理网络连接中断的情况。如果还有其他我们尚未处理的边缘情况,我不会感到惊讶。

欢迎随时file a bug帮助我们优先解决这个问题和其他网络问题。

让连接更改事件正常工作似乎是我们绝对应该解决的问题。

关于android - 如何让我的 android 应用程序检测 ARC 中是否有互联网连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402651/

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