Android:通过蜂窝网络和WiFi进行位置检测 [英] Android: location detection by Cellular Network and WiFi

查看:316
本文介绍了Android:通过蜂窝网络和WiFi进行位置检测的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想构建一个使用cellular NetworkWiFi提供当前位置的应用.

I would like to build a app which will provide current location using cellular Network and WiFi.

我想同时从两个提供商那里获取位置,然后决定哪个提供商最适合我.

I like to get location from both provider simultaneously and then decide which provider give me best.

现在我正在从网络获取位置

Now i am getting location from Network

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationlistenerforNetwork = new mylocationlistenerNetwork();
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistenerforNetwork);

private class mylocationlistenerNetwork implements LocationListener {
      @Override
      public void onLocationChanged(Location location) {
          if (location != null) {
          Log.d("LOCATION CHANGED", location.getLatitude() + " ");
          Log.d("LOCATION CHANGED", location.getLongitude() + " ");
          Toast.makeText(LocationActivity.this,"latitude: "+
              location.getLatitude() + "longitude: " + location.getLongitude()
              + " Provider:" + location.getProvider() + " Accuracy:" + location.getAccuracy(),
              Toast.LENGTH_LONG).show();

          }
      }
      @Override
      public void onProviderDisabled(String provider) {
      }
      @Override
      public void onProviderEnabled(String provider) {
      }
      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {}
      }

我也想从WiFi获取位置.请帮忙.

I also want location from WiFi. Please help.

推荐答案

请参见 LocationManager

有这些提供程序:

  • GPS_PROVIDER
  • NETWORK_PROVIDER
  • PASSIVE_PROVIDER

来自文档:

公共静态最终字符串NETWORK_PROVIDER

public static final String NETWORK_PROVIDER

网络位置提供商的名称.该提供者确定 位置取决于蜂窝塔和WiFi接入点的可用性. 通过网络查找来检索结果.需要以下任一项 权限android.permission.ACCESS_COARSE_LOCATION或 android.permission.ACCESS_FINE_LOCATION.

Name of the network location provider. This provider determines location based on availability of cell tower and WiFi access points. Results are retrieved by means of a network lookup. Requires either of the permissions android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION.

没有单独的WiFi提供商.使用NETWORK_PROVIDER,您还可以基于WiFi接入点来确定位置.

There is no separate provider for WiFi. Using NETWORK_PROVIDER you are determining location also base on WiFi access points.

这篇关于Android:通过蜂窝网络和WiFi进行位置检测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆