2012-07-26 3 views
2

패키지 com.demo.location;현재 위치 좌표가 필요합니다

import android.app.Activity; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.Toast; 

public class MyLocation extends Activity 
{ 
    LocationManager mlocManager; 
    LocationListener mlocListener; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


     /* Use the LocationManager class to obtain GPS locations */ 
     mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 

     mlocListener = new MyLocationListener(); 
     mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 
    } 

    /* Class My Location Listener */ 
    public class MyLocationListener implements LocationListener 
    { 

     //@Override 
     public void onLocationChanged(Location loc) 
     { 
      Log.e("","HERE It IS"); 
      loc.getLatitude(); 
      loc.getLongitude(); 

      Log.e("","LAT"+loc.getLatitude()); 
      Log.e("","LONG"+loc.getLongitude()); 
      String Text = "My current location is: " + 
      "Latitud = " + loc.getLatitude() + 
      "Longitud = " + loc.getLongitude(); 

      Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT).show(); 
     } 

     //@Override 
     public void onProviderDisabled(String provider) 
     { 
      Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT).show(); 
     } 

     //@Override 
     public void onProviderEnabled(String provider) 
     { 
      Toast.makeText(getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show(); 
     } 

     //@Override 
     public void onStatusChanged(String provider, int status, Bundle extras) 
     { 

     } 
    } 
} 



Manifest File 

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

난 그냥 정확한 위치를 필요로하는 곳에 내가 에뮬레이터 및 장치 (삼성 갤럭시 GT S5360)에서 아무것도 점점하지 오전이 응용 프로그램을 실행 is.Upon 사용자. 또한 난 그냥 & 긴 & 다른 방법으로 매개 변수로 전달해야하므로 다른 솔루션도 감사합니다 필요합니다.

감사합니다,

locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); 

isteadof

+0

* 에뮬레이터에서 아무 것도 얻지 못하고 있습니다 * : 에뮬레이터가 GPS 장치를 에뮬레이션합니까? * ... and device * : 당신은 하늘을 가리지 않고 깨끗하게 볼 수 있습니까? – npinti

+0

@npinti 날씨가 흐려지면 ... –

+0

구름이 신호를 차단하지 않아야합니다. 어쩌면 V.J. 트릭을 제안 할 것입니다. – npinti

답변

2

사용

locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

내 경우에 나를 위해 도움이됩니다.

다음 권한도 추가하십시오.

android.permission.INTERNET 
android.permission.ACCESS_COARSE_LOCATION 
android.permission.ACCESS_FINE_LOCATION 
android.permission.ACCESS_MOCK_LOCATION 
+0

시뮬레이터에서 작업하는 경우 LocationManager.GPS_PROVIDER가 현재 lat lon을 제공합니다. 또는 장치에서 테스트 한 후 LocationManager.NETWORK_PROVIDER를 사용하십시오. –

+0

s5360에 대한 정확한 결과는 나에게 세부 사항을 알려주지 만 s5830에 배포 할 때 GPS를 사용할 수 없다는 축배를 준다. –

+0

menifest에 다음 권한을 추가하십시오. ACCESS_COARSE_LOCATION ACCESS_NETWORK_STATE ACCESS_FINE_LOCATION ACCESS_MOCK_LOCATION 및 시도 .. –