2011-05-16 6 views
1

GPS를 사용하여 위치 정보를 얻고 싶습니다. 나는이 응용 프로그램에서 인터넷과 GPRS를 사용하고 싶지 않습니다. 내 코드는 아래와 같습니다. 이게 내가 어디서 잘못 됐는지 말해줘.GPS 만 사용하여 안드로이드에서 인터넷없이 위치 정보를 얻을 수있는 방법

코드 :

package com.getlocation; 

import android.app.Activity; 
import android.content.Context; 
import android.location.Criteria; 
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 UseGps extends Activity { 
    /** Called when the activity is first created. */ 
    private String provider; 
    LocationManager locationManager; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); /* 
             * Use the LocationManager class to 
             * obtain GPS locations 
             */ 
     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     LocationListener mlocListener = new MyLocationListener(); 
     Criteria criteria = new Criteria(); 
      criteria.setAccuracy(Criteria.ACCURACY_COARSE); 
      criteria.setAccuracy(Criteria.ACCURACY_FINE); 
      provider = locationManager.getBestProvider(criteria, true); 
      locationManager.requestLocationUpdates(provider, 61000, 250, 
       mlocListener); 
    } /* Class My Location Listener */ 
public class MyLocationListener implements LocationListener { 
    @Override 
    public void onLocationChanged(Location loc) { 
     loc.getLatitude(); 
     loc.getLongitude(); 
     String Text = "My current location is: " + "Latitude = " 
       + loc.getLatitude() + "Longitude = " + loc.getLongitude(); 
     Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT) 
       .show(); 
     Log.d("TAG", "Starting.."); 
    } 

    @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) { 
    } 
}/* End of Class MyLocationListener */ 
}/* End of UseGps Activity */ 
+2

downvoting. 여기에 허용되는 답변과 비슷한 게시물 : http://stackoverflow.com/questions/4905385/getting-the-current-gps-location-on-android – Mudassir

답변

2

사용이이를 포함, 그것은 GPRS 필요하지 않습니다.

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

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

매니페스트 파일에 권한을 지정해야합니다.

+0

은 인터넷 없이도 작동합니까? – PankajAndroid

+0

예 GPS는 위성을 기반으로하며 인터넷을 사용할 필요가 없습니다. – PravinCG

1

당신은 모바일에 GPS 시스템을 실행하려면 인터넷 연결이 필요하지 않습니다. GPS 시간 동기화에는 인터넷 연결이 필요하지 않습니다. 그러나 Google지도에 현재 위치를 표시하려면 인터넷 연결이 필요할 수 있습니다.

나에게 잘 어울리는 코드가 모두 있습니다.

귀하의 활동에이 코드를 사용해보십시오.

LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

LocationListener mlocListener = new YourLocationListener(getApplicationContext(), mobileNo, deviceId); 
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,mlocListener); 

는 GPS 제공자에 대한 AndroidManifest.xml을

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_GPS" /> 
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" /> 
+0

나는 지금 당장 얻을 수 없다. –

+0

@Sam_k는 인터넷 연결없이 현재의 사물함을 얻을 수 있습니까? – CoronaPintu

+0

@PintuCorna GPS를 제공해야합니다. –

관련 문제