Android:启用服务后暂停/等待活动

时间:2013-09-23 17:23:27

标签: android service android-activity wait

我有一个非常简单的应用程序,其中列出了可用的WiFi接入点(路由器)。

每当应用程序打开或恢复时,我都会设置AlertDialog。 WiFi未启用。这会将用户带到WiFi设置,在那里他们打开WiFi。

然后用户点击后退按钮并返回我的应用程序。我的应用程序然后看到WiFi已启用并输出列表。

问题是,即使启用了WiFi - AP列表尚未完成(即使我正在检查扫描是否已完成。

那么,我怎样才能暂停我的活动足够长的时间以获得完整的清单?

WifiManager oWiFiManager = (WifiManager) getSystemService(WIFI_SERVICE);

// Only proceed if WiFi is Enabled
if (oWiFiManager.isWifiEnabled())
{
    boolean bScanComplete = oWiFiManager.startScan();

    if (bScanComplete)
    {
        /* Scan is complete. Safe to proceed.
         * This is the problem area because for some reason there are no networks listed (but there are in reality).
         */
    }
}

else
{
    // Tell user WiFi is Disabled & take back to settings dialog
}

1 个答案:

答案 0 :(得分:0)

您应该能够使用ConnectivityManager来获取Wifi适配器的状态。从那里你可以检查它是否已连接或甚至可用。

ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (mWifi.isConnected()) {
 // Do whatever
}

      Dont forget to add android.permission.ACCESS_NETWORK_STATE to your AndroidManifest.xml for this to work