4
String logloc ="";
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location!=null) {
    double longitude = location.getLongitude();
    double latitude = location.getLatitude();
    logloc = String.valueOf(latitude)+","+String.valueOf(longitude);
    notfi(logloc); 
}

この上記のコードでは、GPSデバイスがオンになっていて、建物の外と建物の両方にある場合でも、私の場所は常にnullになります。null値のみを取得しています。このコードの実行を手伝ってください

4

2 に答える 2

1

デバイスに最後の既知の場所がないため、それが理由です. 最初に のコードを作成しますonLocationChanged()。現在の場所を取得し、として保存しlastKnownLocationます。その後、メソッドが機能します。

ここで現在地のヘルプを受けることができます

Androidで現在のGPS位置をプログラムで取得するにはどうすればよいですか?

于 2013-08-23T06:49:19.043 に答える
0

このようにしてみてくださいあなたの活動はこのようでなければなりません

Activity extends MapActivity implements LocationListener

 LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
 Criteria criteria = new Criteria();
 String provider = locationManager.getBestProvider(criteria, false);
 Location location = locationManager.getLastKnownLocation(provider);

    if (location != null) {
        System.out.println("Provider " + provider + " has been selected.");
        lat = (double) (location.getLatitude());
        lng = (double) (location.getLongitude());

        Log.i(TAG, "Lattitude:" + lat);
        Log.i(TAG, "Longitude:" + lng);

    }
于 2013-08-23T07:03:55.770 に答える