我想通过单击一个按钮发送短信,并在短信中发送位置信息。我试过:
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
但第一次显示为空,因为未找到已知位置。 因此,我必须等待触发 LocationListener 的“onLocationChange”,但我不想这样。
请告诉我一些其他方式,以便我可以一次获得位置。 谢谢。
最佳答案
第一次获取 GPS 坐标(如果 GPS 服务未运行)可能是一个耗时的过程,因为 GPS 需要进行大量初始化。触发第一个 onLocationChange 是 Android 的 GPS 说:“我知道我现在在哪里”的一种方式。因此,您可能必须想出一种方法来处理 onLocationChange。
按需使用 SMS/GPS API 的方式是让 GPS 服务持续运行。你调查过/试过了吗?您也可以在 SMS 进程中等待,直到 GPS 位置可用,直到发生一些合理长度的超时事件,然后发送 SMS。由于您的 GPS 已初始化,后续请求应该会更快。在任何情况下,您都不能指望 GPS 服务提供的实时纬度/经度。
这里有一篇关于 mobile GPS 的精彩文章.它很笼统,但通读它会揭示为什么您不能简单地“按一下按钮”获取 GPS 读数的原因。
关于android - 如何在没有 'onLocationChange' 方法的情况下知道 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5233264/