获取Android中没有位置服务的可用WiFi网络列表

时间:2017-07-06 09:46:24

标签: android broadcastreceiver android-wifi wifimanager

修改 我知道如果位置服务关闭,SCAN_RESULTS_AVAILABLE_ACTION会返回一个大小为“0”的列表。问题是如何在没有位置服务的情况下执行此操作。

PREVIOUS: 我需要手机上所有可用WiFi网络的列表,并使用该列表填充我的应用中的return array( 'default' => 'mysql', 'connections' => array( # Our primary database connection 'mysql' => array( 'driver' => 'mysql', 'host' => 'host1', 'database' => 'database1', 'username' => 'user1', 'password' => 'pass1' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), # Our secondary database connection 'mysql2' => array( 'driver' => 'mysql', 'host' => 'host2', 'database' => 'database2', 'username' => 'user2', 'password' => 'pass2' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), ); 。我稍后会从我的应用程序连接到所需的网络。

我通过使用

实现了上述目标
ListView

我已经注册了一个BroadcastReciever,用于在扫描完成时收到一个暗示,如下所示,

 wifiManager.startScan();

接收者代码如下,

registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

问题是每次我想要上述信息时我都必须启用位置服务。我在这里没有看到这一点,因为我不需要这里的位置服务,因为其他应用程序如“SHAREit”也是这样做的无需位置服务。是否有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

我们可以通过将应用的 targetSDKversion 设置为21或更低来获取未启用 GPS 的可用 WIFI 列表。