在应用启动期间获取当前位置

8 android location geolocation locationmanager

美好的一天!我正在开发一个监控用户位置的Android应用程序.我正在使用LocationManager来获取用户位置,使用以下方法

public void onLocationChanged(Location theLocation) {}
Run Code Online (Sandbox Code Playgroud)

通过上述方法,每当有用户移动时,我都会收到位置坐标.

但是,现在我计划在他们的应用登录后立即获取用户的位置.有没有办法通过LocationManager我可以在我的应用程序启动后手动获取位置坐标?

pyu*_*s13 21

使用这种技术:

LocationManager locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

boolean network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

Location location;

if(network_enabled){

   location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

if(location!=null){
   longitude = location.getLongitude();
   latitude = location.getLatitude();
    }                
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您甚至不需要在GPS上只有您的移动网络才能这样做.

不要忘记在Manifest中给予以下许可:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

  • getLastKnownLocation()可能返回null,在这种情况下,此代码将崩溃 (3认同)