我正在尝试实现一个应用程序,它可以从 GPS 和网络提供商处感知位置并将其显示在 Google 地图上。我成功地做到了,但我有一个问题:我在我的 Activity 的 onCreate() 中获取了提供者(它扩展了 LocationListener)
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
location = locationManager.getLastKnownLocation(provider);
它工作正常,我的问题是,当调用 onLocationChange() 时,如果调用它的提供者是 GPS 或 NETWORK,我应该采取不同的行动。有没有办法知道哪个?为了更清楚:
何时onLocationChanged(Location location)
被调用,是否有机会知道是哪个提供者进行了调用?我尝试if
在提供程序字符串上使用 an ,但它似乎不起作用。