0

我正在开发一个带有无线活动的应用程序。我必须使用 WLAN(无线 LAN)与互联网合作,并且我的蓝牙活动需要一直工作。

在这里,有时我的 wi-fi / 蓝牙设备出现超出覆盖范围的问题。我在不知道这方面的知识的情况下工作,在提交过程时我才知道 Internet 不可用..

每次在应用程序中处理时,我都需要更新数据。如果我的程序或应用程序中嵌入了 Wi-fi/蓝牙强度通知,则意味着我可以知道 Wi-fi/蓝牙强度是否变低。

帮我解决这个问题。谢谢..

4

2 回答 2

3

我想您是在问如何检查您的 WiFi 是否已连接,如果是,您可以使用 ConnectivityManager

ConnectivityManager conman = (ConnectivityManager)
     getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = conman.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if(wifi.isConnected()) {
   // yay! your connected
}

现在,要让上述内容在后台运行,您可以在后台运行并与您的活动通信的服务中实现上述内容。在这里查看一个示例,以帮助您开始使用后台服务。

http://android-codes-examples.blogspot.co.uk/2011/11/running-service-in-background-on.html

在服务中,您需要通过以下方式获取 ConnectivityManager,因为您需要先获取应用程序上下文

ConnectivityManager conman = (ConnectivityManager)
     getApplicationContext().getgetSystemService(CONNECTIVITY_SERVICE);
于 2012-12-06T12:19:14.083 回答
0

按照@JustDanyul所说的,您可以简单地修改它,以便它始终通过使用while循环而不是if语句来检查其连接性,这样当您连接到互联网时,您的应用程序会做一件事,然后在断开连接时做其他事情

于 2012-12-06T12:33:42.320 回答