2013-02-01 40 views
0

我正在构建一个基于位置的应用程序,一切都很好,直到有一天我停止接收位置..我不知道为什么。我会附上重要的代码:我无法接收位置

private LocationManager mLocationManager; 
public void onCreate() 
{ 
    super.onCreate(); 
    ... 
    // Get a reference to the LocationManager object. 
    mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    ... 
    setup(); 
} 
private void setup() 
{ 
    mLocationManager.removeUpdates(listener); 

    // Request updates from just the providers. 
    if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) 
     mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, ONE_MINUTE, 0, listener); 

    if (mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) 
     mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, ONE_MINUTE, 0, listener); 
} 


    @Override 
    public void onLocationChanged(Location location) 
    { 
     handleLocation(location); 
    } 

我把一个破发点上onLocationChanged什么都没有发生。我测试了我的应用程序的其他线路,以确保调试配置工作,这是工作。看起来我只是没有收到任何地点。

也许我没有看到什么。

+0

你在设备或模拟器上运行吗? – smk

+0

在我的设备上,SAMSUNG GALAXY S3。它曾经工作。 –

+0

http://stackoverflow.com/questions/6015172/settestproviderlocation-does-not-trigger-calling-of-onlocationchanged你如何测试?此链接可能有所帮助。 – smk

回答

0

我有很好的代码,即可获得位置:

public class Locato extends Activity implements LocationListener { 
    LocationManager locman; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.idlayout); 
    locman = (LocatonManager) getSystemService(Context.LOCATION_SERVICE); 
    } 

    public void onStatusChanged(String pr, int s, Bundle a) { 
    } 

    @Override public void onProviderDisabled(String provider) 
    { 
    Log.d("MyApp", "Provider disabled : " + provider); 
    } 
    @Override public void onProviderEnabled(String provider) { 
    Log.d("MyApp", "Provider enabled : " + provider); 
    } 
    @Override public void onLocationChanged(Location location) { 
// do something 
    } 
} 

尝试使用此。 不要忘记在清单中添加ACCESS_FINE_LOCATION权限。

+0

我看不出有什么不同,您只是实现了LocationListener类而不是创建实例。 –

+0

但我的代码接收位置和你的不是。 – TN888

+0

你有权限吗? – TN888

0

相同的代码现在生成位置,当我说它可能是因为它是多云的,但现在当云消失时它正在工作时,这是一种笑话。我无法想到其他任何事情,只是为了澄清这是非常多云,甚至可能是一场小风暴。