Я сейчас занимаюсь проектом робототехники и решил управлять своими роботами благодаря телефону Android (Samsung Galaxy S). Моя проблема в том, что я не могу найти способ вычислить местоположение GPS "каждый раз", я имею в виду, что вождение требует очень маленького времени обновления, и я не могу его получить. Сначала я подумал, что нужно просто поставить что-то вроде этого:
mLocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, this.refreshTime, 0, this);
С refreshTime является переменным моментом, значения которого равны, например, 500, но он не работает, так как я заметил, что это значение является лишь подсказкой, а не параметром. Так что я заблудился ^^
Есть ли способ сделать это?
Я получаю прибыль в этой теме, чтобы задать вам вопрос ... Знаете ли вы, ребята, почему мое местоположение не вычисляется, когда я устанавливаю GPS_PROVIDER? Мои спутники включены, но ничего не возвращено, так что, думаю, я делаю не так ...
Вот мой полный код:
package com.pIndus.gps;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
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 Loc extends Activity {
/** Called when the activity is first created. */
private long refreshTime = 1000;
private LocationManager mLocManager;
private LocationListener mLocListener;
@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.NETWORK_PROVIDER, this.refreshTime, 0, mLocListener);
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(), "Gps désactivé", Toast.LENGTH_SHORT ).show();
Log.i("GPS", "GPS Desactivé");
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(),"Gps activé", Toast.LENGTH_SHORT).show();
Log.i("GPS", "GPS Activé");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
Toast.makeText( getApplicationContext(),"Statut changé", Toast.LENGTH_SHORT).show();
Log.i("GPS", "Statut changé");
}
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "Localisation courante:\n " + "Latitude : " + loc.getLatitude() + "\n" + "Longitude : " + loc.getLongitude();
Log.i("GPS", "Localisation calculée");
Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
}
}
public void onPause()
{
mLocManager.removeUpdates(mLocListener);
super.onPause();
}
public void onStop()
{
mLocManager.removeUpdates(mLocListener);
super.onStop();
}
}
Надеюсь, вы, ребята, поняли меня, я знаю, что мой английский очень плохой.
Большое спасибо за помощь