gpt4 book ai didi

java - Wait onLocationChanged(定位位置)

转载 作者:行者123 更新时间:2023-11-29 21:36:09 24 4
gpt4 key购买 nike

我需要获取当前位置,然后 - 执行下一个代码。当这个方法完成时我怎么能等呢? onLocationChanged 被自动调用,这就是我遇到问题的原因。有人有任何想法如何做得更正确吗?我让它变得非常愚蠢,在 OnLocationChanged() 中我调用了 onResume(),但这是个糟糕的主意。

    @Override
public void onLocationChanged(Location location) {

final Location loc = location;

Log.d("myLogs", "OnChange2");
Log.d("myLogs", "2" + loc.getLatitude() + "," + loc.getLongitude());
myLat = loc.getLatitude();
myLong = location.getLongitude();
onResume();

}

最佳答案

你可能想为此使用 AsyncTask。参见 Android find GPS location once, show loading dialog的答案。基本上在 onPreExecute 中,您可以启动对话框(它在调用 doInBackground 之前启动)。这意味着您要等到可以定位并显示对话框的时间。然后在 doInBackground 中就可以获取位置。完成后 onPostExecute 被调用。您可以从 onPostExecute 中停止。您可以检查该位置是否不为空,然后如果需要,也可以从 onPostExecute 内部调用其他函数。

这可能是一种方式。您可以从 AsyncTask Android example 中学习一个基本示例.您也可以先阅读文档 here并阅读 How to Get GPS Location Using AsyncTask? .

其他一些类似的有用问题:

Wait for current location - GPS - Android Dev

getting location instantly in android

希望这对您有所帮助。

关于java - Wait onLocationChanged(定位位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18393397/

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