Android 需要当前位置坐标

Android 需要当前位置坐标,android,gps,location,Android,Gps,Location,包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; im

包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"/>
导入android.app.Activity;
导入android.content.Context;
导入android.location.location;
导入android.location.LocationListener;
导入android.location.LocationManager;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.Toast;
公共类MyLocation扩展活动
{
地点经理;
LocationListener mlocListener;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*使用LocationManager类获取GPS位置*/
mlocManager=(LocationManager)getSystemService(Context.LOCATION\u服务);
mlocListener=新的MyLocationListener();
mlocManager.RequestLocationUpdate(LocationManager.GPS_提供程序,0,0,mlocListener);
}
/*类我的位置侦听器*/
公共类MyLocationListener实现LocationListener
{
//@凌驾
位置更改后的公共无效(位置loc)
{
Log.e(“,”在这里“);
loc.getLatitude();
loc.getLongitude();
Log.e(“,”LAT“+loc.getLatitude());
Log.e(“,”LONG“+loc.getLongitude());
String Text=“我的当前位置是:”+
“Latitud=“+loc.getLatitude()+
“Longitud=“+loc.getlongitud();
Toast.makeText(getApplicationContext(),Text,Toast.LENGTH_SHORT).show();
}
//@凌驾
公共无效onProviderDisabled(字符串提供程序)
{
Toast.makeText(getApplicationContext(),“Gps禁用”,Toast.LENGTH_SHORT.show();
}
//@凌驾
公共无效onProviderEnabled(字符串提供程序)
{
Toast.makeText(getApplicationContext(),“启用Gps”,Toast.LENGTH\u SHORT.show();
}
//@凌驾
public void onStatusChanged(字符串提供程序、int状态、Bundle extra)
{
}
}
}
清单文件
我只需要用户的确切位置。在运行此应用程序时,我从模拟器和设备上什么也得不到…(三星Galaxy GT S5360)。另外,我只需要lat&long&需要将其作为参数传递到其他方法中,所以任何其他解决方案都是值得赞赏的

关于,

使用

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

我没有从模拟器中得到任何信息:你确定你的模拟器模拟GPS设备吗。。。和设备:你能看到清晰无阻的天空吗?@NPI这里的天气目前多云……云不应该阻挡信号。也许按照V.J.的建议去做就行了。如果你在模拟器上工作,LocationManager.GPS_提供商会为你提供当前的纬度。或者您正在设备上测试它,然后使用LocationManager.NETWORK_PROVIDER。它在s5360上给我准确的结果就是给我提供详细信息,但在s5830上部署时,它给我一个祝酒词,说GPS已禁用。请在menifest中添加以下权限。访问\u粗略\u位置访问\u网络\u状态访问\u精细\u位置访问\u模拟\u位置并重试..在清单中添加了这些权限,但仍然存在相同的问题:(网络\u提供商仅在您的设备具有移动提供商、WiFi、GPRS等网络连接时才工作。因此,请检查s5830中的网络连接。然后重试。。