【发布时间】:2012-07-17 02:10:32
【问题描述】:
我的应用应该使用GPS、Cellular network 或WiFi 找到当前位置。我可以通过GPS 轻松找到当前位置
LocationManager locationmanager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationlistener = new mylocationlistener();
locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationlistener);
mylocationlistener()function 如下所示
private class mylocationlistener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Toast.makeText(LocationActivity.this,"latitude: "+
location.getLatitude() + "longitude: " + location.getLongitude(),
Toast.LENGTH_LONG).show();
}
}
它工作正常。我可以使用蜂窝网络通过上面的代码找出我需要更改的当前位置locationmanager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistener);
没关系,但我的挑战是
- 我需要找到 GPS 信号强度才能激活 GPS。如果 GPS 信号强度差,我将无法激活 GPS,因为它会耗尽电池电量。
- 如果 GPS 信号较差,我必须通过蜂窝网络或 WiFi 找出当前位置。
所以,我的问题是,是否有任何方法可以在不打开GPS 的情况下确定 GPS 信号强度?
感谢您提前提供任何帮助。
【问题讨论】: