地理定位不能在手机上工作,但在模拟器上工作正常

时间:2012-06-20 09:29:50

标签: android geolocation

Belwo是我用来在手机上获取位置更新的代码。 当我在模拟器上运行它并手动从仿真器控制其经度和经度控制其工作正常,但当我试图在我的手机上运行此应用程序时,它没有显示任何坐标。 请帮忙..

清单文件具有所需权限 -

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

我已经检查过并且手机上已开启GPS

    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    LocationListener ll = new myLocationListener();
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,ll);   
}
    class myLocationListener implements LocationListener{

        @Override
        public void onLocationChanged(Location location) {
            // TODO Auto-generated method stub
            if(location!=null)
            {
                double lo = location.getLongitude();
                double la = location.getLatitude();                 
                lati.setText(Double.toString(la));
                longi.setText(Double.toString(lo));
            }

        }

        @Override
        public void onProviderDisabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderEnabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStatusChanged(String provider, int status,
                Bundle extras) {
            // TODO Auto-generated method stub

        }

    }

}

1 个答案:

答案 0 :(得分:0)

检查设备中的GPS是否已打开。 GPS提供商无法在建筑物内工作。在建筑物内,您需要使用WiFi提供商。