gpt4 book ai didi

java - Android 位置管理器返回空指针异常

转载 作者:行者123 更新时间:2023-12-02 07:54:32 25 4
gpt4 key购买 nike

我遇到一个问题,我正在尝试创建一个使用位置管理器但不是当前正在运行的 Activity 的类。因此,当我从任何 Activity 中调用此类时,它都会在后台完成所有操作。我尝试扩展服务,但始终返回空指针错误。

正是这行代码返回了错误。

public class BackgroundGps extends Service{
UserObject uo = null;
BackgroundGps(UserObject userObj){
uo = userObj;
uo.setHeader("GPSUpdate");
}
public void locationListener(){
LocationManager mlocManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new LocationListener(){
public void onLocationChanged(Location location){
if(uo.getLatitude() == ("" + location.getLatitude()) && uo.getLongitude() == ("" + location.getLongitude())){}
else{
uo.setLatitude("" + location.getLatitude());
uo.setLongitude("" + location.getLongitude());
updateGPS();
}
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 5, mlocListener);
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 5, mlocListener);
}

谢谢

最佳答案

获取对系统位置管理器的引用

 LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

locationManager 不会在设备上抛出空指针,但会在模拟器上抛出空指针

向位置管理器注册监听器以接收位置更新。在这里您可以根据需要使用 NETWORK_PROVIDER 或 GPS_PROVIDER 等*

 locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

关于java - Android 位置管理器返回空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com