2013-02-01 78 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

相同的代碼現在生成位置,當我說它可能是因爲它是多雲的,但現在當雲消失時它正在工作時,這是一種笑話。我無法想到其他任何事情,只是爲了澄清這是非常多雲,甚至可能是一場小風暴。