получать координаты GPS в помещении - PullRequest
0 голосов
/ 05 августа 2011

Вот мой код, я не могу получить координаты при использовании NETWORK_PROVIDER. onLocationChange (), похоже, не срабатывает. Я буду признателен за помощь.

package com.networkprovider;

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.widget.EditText;
import android.widget.Toast;

public class networkProvider extends Activity {
    EditText editText1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        editText1=(EditText)findViewById(R.id.editText1);
    }
    @Override
    protected void onStart() {
        LocationManager locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        LocationListener listener=new LocationListener() {

            @Override
            public void onStatusChanged(String arg0, int arg1, Bundle arg2) {

            }

            @Override
            public void onProviderEnabled(String arg0) {


            }
            @Override
            public void onProviderDisabled(String arg0) {
            }

            @Override
            public void onLocationChanged(Location location) {
                String loc=String.valueOf(location.getLatitude())+","+String.valueOf(location.getLongitude());
                Toast.makeText(getApplicationContext(),loc, Toast.LENGTH_LONG).show();
                //editText1.setText(loc);

            }
        };
        boolean isEnabled=locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        if(isEnabled)
        {
            Toast.makeText(getApplicationContext(),"Enabled", Toast.LENGTH_LONG).show();
            locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);
        }
        else
        {
            Toast.makeText(getApplicationContext(),"Not Enabled!", Toast.LENGTH_LONG).show();
        }
        super.onStart();
    }

}

Ответы [ 2 ]

0 голосов
/ 05 августа 2011

Это может быть глупый ответ, но вы уверены, что он должен быть запущен?

Пока вы находитесь в помещении, поскольку точность сети очень низкая, возможно, вы не сможете двигаться достаточно, чтобы вызвать onLocationChange (). У меня дома точность сети составляет около 1 км, поэтому вы должны получить действительно большое здание, чтобы использовать этот тип данных для локализации ...

Antoine

0 голосов
/ 05 августа 2011

Я запустил этот код, и он вернул мне мое местоположение в тосте

проверьте, что у вас есть

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

в вашем манифесте или что на устройстве включены сетевые местоположения:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...