【发布时间】:2014-04-03 11:53:16
【问题描述】:
我是 Android 新手。现在我正在学习定位服务的工作原理。我的问题是,将 GPS 和网络这两个侦听器连接到一个对象时,我无法获取位置源。这是我的代码:
public void onLocationChanged(Location location) {
if (location.getProvider() == LocationManager.GPS_PROVIDER) {
textView1.setText("Lat: " + location.getLatitude() + ", Long: " + location.getLongitude() + " by GPS");
} else if (location.getProvider() == LocationManager.NETWORK_PROVIDER) {
textView1.setText("Lat: " + location.getLatitude() + ", Long: " + location.getLongitude() + " by network");
}
}
并且此代码永远不会更新 TextView。我在不同的情况下尝试过,室内/室外,打开/关闭 GPS,什么都没有……我很困惑,因为下面的代码我没有检查提供者:
public void onLocationChanged(Location location) {
textView1.setText("Lat: " + location.getLatitude() + ", Long: " + location.getLongitude());
}
效果很好。
我做错了什么?
【问题讨论】:
-
您是否在 manifest.xml 中授予了适当的权限?
-
你能检查单个监听器的工作吗?
-
检查您的 logcat 是否有任何错误消息
-
是的...清单和单个侦听器正常工作。当我不检查提供者时,一切正常......