有没有办法从网络提供商检测位置?

时间:2015-12-17 10:56:16

标签: java android networking connection 3g

我想知道网络小区的变化。我不想运行GPS的东西。在没有3G / 4G数据的普通移动服务上。我能知道我的位置吗?

我知道2G连接不是那么强大,但我的应用程序将在一个我不太确定基于数据的3G / 4G连接的空间中工作。

所以我正在寻找2G的东西。由于数据速率低,对2G提出请求似乎不太好。所以,如果我能知道细胞区域。

1 个答案:

答案 0 :(得分:0)

试试这个:

网络位置提供商。该提供商根据蜂窝塔和WiFi接入点的可用性确定位置。通过网络查找检索结果。需要权限android.permission.ACCESS_COARSE_LOCATION或android.permission.ACCESS_FINE_LOCATION。

Location nwLocation = appLocationService
                        .getLocation(LocationManager.NETWORK_PROVIDER);

                if (nwLocation != null) {
                    double latitude = nwLocation.getLatitude();
                    double longitude = nwLocation.getLongitude();
                    Toast.makeText(
                            getApplicationContext(),
                            "Mobile Location (NW): \nLatitude: " + latitude
                                    + "\nLongitude: " + longitude,
                            Toast.LENGTH_LONG).show();
                } else {
                    //Log.e("elsepart","not getting");
                }

            }
        });