我知道如何从其他类调用方法,但在这种情况下似乎不起作用。我可能会记错了,但是我尝试了几件事,但都没有奏效。以下是相关的简化代码:
MainActivity.java:
private void getForecast(final GPSTracker gpsTracker) {
// something
}
GPSTracker.java:
@Override
public void onLocationChanged(Location location) {
// call getForecast() here
}
我基本上想做的是,一旦用户启用位置信息,就可以获取预测数据。现在,在启动应用程序时,检测到该位置已禁用,将用户定向到“设置”以启用该位置,但是在用户启用该位置并返回到该应用程序后,没有任何更改。应用程序不了解位置已更改,因此我假设要使用onLocationChanged()。如果需要,我可以提供其余代码。提前致谢。
最佳答案
首先,您需要注意getForecast方法的Access Modifier。您不能从另一个Java类调用getForecast()。
编辑:
您需要将访问修饰符从私有更改为公共:
public void getForecast(final GPSTracker gpsTracker) {
// something
}
另外,请确保调用函数requestLocationUpdates。