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"/>

我只需要用户所在的确切位置。运行此应用程序后,我无法从模拟器和设备中获得任何信息……(Samsung Galaxy GT S5360)。此外,我只需要 lat & long & 需要将其作为参数传递给其他方法,因此也欢迎任何其他解决方案。

问候,

4

1 回答 1

2

利用

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

伊斯特多夫

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

就我而言,这对我很有帮助。

还请添加以下权限。

android.permission.INTERNET
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_MOCK_LOCATION
于 2012-07-26T07:19:26.943 回答