Почему не работает этот код Android, связанный с GPS? - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь запустить этот код на эмуляторе:

package andr.andr;

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.Toast;

public class Gpstest2Activity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    LocationListener mlocListener = new MyLocationListener();
    mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
public class MyLocationListener implements LocationListener
{
    public void onLocationChanged(Location loc)
    {
        loc.getLatitude();
        loc.getLongitude();
        String Text = "My current location is: " +
        "Latitud = " + loc.getLatitude() +
        "Longitud = " + loc.getLongitude();
        Toast.makeText( getApplicationContext(),Text,Toast.LENGTH_SHORT).show();
    }
    public void onProviderDisabled(String provider)
    {
        Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();
    }
    public void onProviderEnabled(String provider)
    {
        Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
    }
    public void onStatusChanged(String provider, int status, Bundle extras)
    {
    }
}
}

и вот мой манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="andr.andr"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS"></uses-permission> 
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Gpstest2Activity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Моя проблема в том, что этот код просто не запускается. Я пытался отправить данные GPS через "DDMS" и "Geo Fix", но ничего не происходит. Иногда эмулятор просто выключается. Кто-нибудь знает, что не так с этим кодом? Спасибо за любую помощь.

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

Я не вижу ничего плохого в коде.Вы включили GPS на эмуляторе?Вы проверяли logcat на ошибки?

1 голос
/ 04 августа 2011

Запустите устройство и проверьте, будет ли оно отображать ту же ошибку.Если так, то измените свой код, иначе он будет работать.Я думаю, ваша проблема в том, что вы тестируете его в эмуляторе.

Эмулятор не может определить местоположение с помощью GPS.

1 голос
/ 04 августа 2011

Если вы работаете в эмуляторе выше API Карт Google уровня 8, у вас будут проблемы с передачей местоположений с помощью geo fix.Какой тип вы используете?

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