我会在epad (zinglife)上使用"NETWORK_PROVIDER“来获取这个地方的纬度和经度。它只有wifi连接。没有SIM卡。如果我使用的是地理编码器,它也会获取位置名称。简而言之,我需要sim才能使用NETWORK_PROVIDER吗?
设备: epad (zinglife) Android操作系统
wi-fi :是的
互联网:是的。
SIM卡:无SIM卡
代码示例:
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,0, this);
Location location=lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
geocoder = new Geocoder(this);
if(location!=null)
onLocationChanged(location);
public void onLocationChanged(Location location) {
try {
List<Address> addresses geocoder.getFromLocation(location.getLatitude(),location.getLongitude(), 2); // <10>
for (Address address : addresses) {
tv.setText(address.getAddressLine(0));
}
catch(Exception e){
e.printstacktrace;
}发布于 2012-01-06 16:37:38
你不需要SIM卡,你可以得到一个有ACCESS_COARSE_LOCATION权限的位置。
发布于 2012-09-30 10:27:22
我有一台102sh (带普通SIM卡的japan.softbank)和galaxy Nexus卡(没有电话号码,只有有限数据传输的SIM卡)。
我可以通过102sh上的getFromLocation获取我的地址,但我无法通过galaxy nexus上的getFromLocation获取我的地址。
所以我认为当我们使用getFromLocation时,我们需要无限的sim。
发布于 2012-11-23 17:24:30
google documentation明确表示:“安卓的网络位置提供商使用手机发射塔和Wi-Fi信号来确定用户的位置,……”这应该意味着,如果wifi被激活,而且周围的热点都在谷歌数据库中,它就可以在没有SIM卡的情况下工作。
但是...我在开发应用程序时遇到了一个测试设备的位置问题(坐在柏林的一个办公室里,周围有10个热点)。唯一不同的是丢失的SIM卡。经过一些添加/删除SIM卡的实验,我可以验证这种行为,至少对Galaxy Nexus和Galaxy S3是这样的。我很震惊,这可能真的是真的。致所有人:你能重现这个吗?
locationManager.getProvider(LocationManager.NETWORK_PROVIDER).requiresCell()在两个三星设备上都返回true。
https://stackoverflow.com/questions/8755226
复制相似问题