3

Android アプリケーションがあり、場所を取得したいと考えています。

これについては、Androidのドキュメントに従いますが、機能しません。onLocationChanged メソッドが呼び出されることはありません。

public class GPSTestActivity extends Activity
{   
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

    if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
    {
        Toast.makeText(this, "GPS available", 3000).show();
    }
    else
    {
        Toast.makeText(this, "GPS not available", 3000).show();
    }

    LocationListener locationListener = new LocationListener()
    {
        public void onLocationChanged(Location location)
        {
            System.out.println("RECEIVED LOCATION");
        }

        public void onStatusChanged(String provider, int status, Bundle extras)
        {
        }

        public void onProviderEnabled(String provider)
        {
        }

        public void onProviderDisabled(String provider)
        {
        }


    };

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
}

AndroidManifest.mf に許可を含めました:

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

DDMS コンソールでエミュレーターを使用してアプリケーションをテストしようとしています。経度と緯度を設定して送信ボタンを押したのですが、onLocationChangedメソッドが呼び出されません。

私が間違っていることは何ですか?

少し早いですがお礼を

4

2 に答える 2

0

問題を見つけました。

私はAndroid2.3.3でテストしていました。バグがあります。Google API(レベル10)でのテストは完璧に機能します。

于 2012-09-05T16:17:26.333 に答える
0

parms を呼び出しに入れます。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10f, locationListener);
于 2012-09-05T14:55:47.090 に答える