gpt4 book ai didi

java - 如何在应用程序关闭时运行 onLocationChanged 方法(使用 onStop 方法)

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:34 25 4
gpt4 key购买 nike

我有这个方法,它管理我的位置:

 @Override
public void onLocationChanged(final Location location) {
if(inRun){
Clocation myLocation = new Clocation(location, this.useMetricUnits());
this.updateSpeed(myLocation);
this.updateDistance(myLocation);
this.updateAverageSpeed(this.distance, this.chronometer);
if (activity.getText().toString() != ActivityRecongnizedService.getActivity()) {
activity.setText(ActivityRecongnizedService.getActivity());
activityTimer.start();
}


switch (activity.getText().toString()) {
case "STILL": still = true; break;
case "IN VEHICLE": inVehicle = true; break;
case "ON BICYCLE": onBicycle = true; break;
case "ON FOOT": onFoot = true; break;
case "RUNNING": running = true; break;
case "WALKING": walking = true;break;
case "TILTING": tilting = true; break;
}

setTimeActivity();

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String[] key;
key = user.getEmail().split("@");
reference.child("Position").child(key[0]).child("latlng").setValue(new LatLng(location.getLatitude(),location.getLongitude()));

}
}

但我希望此方法在 MainActivity 关闭时运行。我读到了这件事,有两种方法可以做到这一点:使用服务或使用 onStop 方法。

我更喜欢第二种方式,用onStop方法,但我不知道如何在onStop方法中调用onLocationChanged。

最佳答案

希望对您有所帮助。在 Android 中,有位置管理器,它提供对系统位置服务的访问。您可以使用此类触发 onLocationChanged 事件。

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

// Get the best provider for the criteria
Criteria criteria = new Criteria();
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_FINE);

String bestprovider = locationManager.getBestProvider(criteria,false);
locationManager.requestLocationUpdates(bestprovider,0, 0, this);

如果您在 onStop 方法中插入部分代码,将触发 onLocationChanged 事件。

关于java - 如何在应用程序关闭时运行 onLocationChanged 方法(使用 onStop 方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608364/

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